Any ideas on how to test this thoroughly? I can't imagine this causing a
regression as the debugger now shows system is being loaded from msvcrt
which is exactly the method you want to load.
Pepijn
On 1/3/2010 18:17, Daniel Spiewak wrote:
Fix committed in r917597. Note that this only applies when
Buildr::Util::win_os? is true.
Daniel
On Mon, Mar 1, 2010 at 11:13 AM, Pepijn Van Eeckhoudt<
pepijn.vaneeckho...@luciad.com> wrote:
Or better yet just use LIBC directly instead :)
So ffi_lib FFI::Platform::LIBC
I'll add this as a comment to BUILDR-348
Pepijn
On 1/3/2010 18:05, Pepijn Van Eeckhoudt wrote:
Aha, that confirms what I suspected. I was about to check the JRuby source
code, so thanks for saving me some digging :)
Adding
ffi_lib "c"
before the attach_function does the trick. map_library_name maps this to
Platform::LIBC and then the attach works correctly.
Pepijn
On 1/3/2010 17:50, Antoine Toulme wrote:
See my comment on BUILDR-348.
On Mon, Mar 1, 2010 at 08:49, Pepijn Van Eeckhoudt<
pepijn.vaneeckho...@luciad.com> wrote:
Just tested that; nothing happens. I don't see the vim output and jirb
is
no longer responding to input.
Pepijn
On 1/3/2010 17:37, Alex Boisvert wrote:
They may have fixed system() such that using FFI directly wouldn't be
necessary anymore. A simple test such as "system 'vim'" from jirb on
Windows would confirm.
alex
On Mon, Mar 1, 2010 at 8:16 AM, Antoine Toulme<anto...@lunar-ocean.com
wrote:
I can contact the jruby folks and see if a jruby update would help -
JFFI
is
now 1.0 btw, while it was 0.4 in 1.4.0.
On Mon, Mar 1, 2010 at 08:12, Alex Boisvert<alex.boisv...@gmail.com>
wrote:
On Mon, Mar 1, 2010 at 3:00 AM, Pepijn Van Eeckhoudt<
pepijn.vaneeckho...@luciad.com> wrote:
It would be nice if BUILDR-348 could be resolved for 1.4.0. We are
planning
on using buildr as internally running on jruby 1.4. Right now this
issue
means I will either have to maintain a custom buildr build or have
every
developer patch the buildr installation by hand.
Any idea on the root cause of this problem? Does commenting out that
one
line have any other side effects?
The issue is that JRuby use{s,d} the JVM's System.exec() call to
spawn
external processes, which isn't 100% equivalent to Unix system()
call.
For
instance, if you spawned a process like 'vim' or a language shell
like
'scala' or 'irb', then you wouldn't be able to interact with the
sub-process
correctly due to incomplete redirection of all terminal capabilities.
To solve this, we override the system() call to circumvent the
JRuby's
system call and directly call the native system() using FFI.
I don't know what's the state of things on JRuby 1.4.0 + Windows but
some
internals seem to have changed which is why we're getting the error
described in BUILDR-348. Somebody needs to investigate what
works/doesn't
work on Windows -- the workaround I provided on BUILDR-348 simply
reverts
to
using the standard system() implementation, which works for most
things
but
not shelling out to interactive apps.
alex
--
Pepijn Van Eeckhoudt - Project Leader
T +32 16 23 95 91
F +32 16 29 34 22 | pepijn.vaneeckho...@luciad.com
LUCIAD - high performance visualization
Wetenschapspark Arenberg | Gaston Geenslaan 9
3001 Leuven | Belgium | www.luciad.com
--
Pepijn Van Eeckhoudt - Project Leader
T +32 16 23 95 91
F +32 16 29 34 22 | pepijn.vaneeckho...@luciad.com
LUCIAD - high performance visualization
Wetenschapspark Arenberg | Gaston Geenslaan 9
3001 Leuven | Belgium | www.luciad.com
--
Pepijn Van Eeckhoudt - Project Leader
T +32 16 23 95 91
F +32 16 29 34 22 | pepijn.vaneeckho...@luciad.com
LUCIAD - high performance visualization
Wetenschapspark Arenberg | Gaston Geenslaan 9
3001 Leuven | Belgium | www.luciad.com