- Jul 07, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jul 06, 2015
-
-
Lars Kanis authored
This should ensure, that the event is definitely cleared. These functions should be thread safe.
-
Lars Kanis authored
-
Lars Kanis authored
Switch off polling-based (addChore) processing of threads Add event-based interruption of GVL-released functions.
-
- Jun 26, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
This allows to safely execute GUI code from other threads.
-
- Jun 25, 2015
-
-
Lars Kanis authored
-
-
Lars Kanis authored
This works for sockets only for now.
-
Lars Kanis authored
-
- Jun 24, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jun 18, 2015
-
-
Lars Kanis authored
-
- Jun 14, 2015
-
-
Lars Kanis authored
-
- Jun 13, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This is the only function that is currently required to acquire the GVL. Other FXRbCall functions could be wrapped equally.
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
This is just enough for loadPixel/savePixel, but if other methods release the GVL, potentially all other callback functions could be called. These are now yet wrapped by gvl-aware wrappers.
-
- Jun 12, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
Lars Kanis authored
-
- Jun 08, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This also fixes some build system checks, that should be for the target system.
-
- Feb 20, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
without check.
-
- Feb 19, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
This solves crashes of kind: [BUG] rb_gc_mark(): 0x00000003f54af8 is T_ZOMBIE All parameters to Ruby event blocks or overloaded methods are converted to proper Ruby classes or wrapped by appropriate wrapper classes for borrowed objects. The wrapper classes are registered, to keep the connection between C-pointer (the borrowed object) and the wrapping Ruby object. This connection is canceled either when the borrowed object is destroyed or the Ruby wrapper is free'd. If neither of them happens, the wrapper object is re-used for the next call. This worked good with Ruby-1.8, which has one big mark and sweep run. Ruby-2.2 introduced incremental GC and has several mark and sweep runs, so that marks and sweeps are quite independent. Therefor we re-used objects, that are already maked for sweeping (so called T_ZOMBIE). This patch releases the connection between borrowed object and it's wrapper object after each call into Ruby code. Therefore the wrapper object isn't re-used, but a new one is created for each param to each call. The wrapper objects are later free'd by the GC. This patch could have a negative performance impact.
-
- Feb 18, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Feb 17, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
Static linking all dependent libraries into each ruby version (from 1.8 to 2.2) would blow up the gem to >20MB.
-
- Feb 16, 2015
-
-
Lars Kanis authored
-
Lars Kanis authored
-
- Feb 14, 2015
-
-
Lars Kanis authored
-