interesting ORBit behavior
Hrm, so I've been trying to learn how to write HURD translators, and as an
experiment I decided to make something akin to /dev/random that collects bytes
from random.org.
Anyway, random.org exposes a CORBA interface, so I figured I would use that;
first I wrote a test program to learn ORBit, thats when the fun started.
Interestingly enough, when you first compile the test program (which reads
a number from random,org's corba interface and prints it out), exactly
every other time it dies, saying only 'Killed'. I suspect it never gets into
main, somehow, because I interleved all the CORBA statements with puts, and
none of them are reached (I made the io unbuffered afaik, so it should print
out at least the first few statements before dying).
Things get interesting when you run it under gdb, it works every time. After
you exit gdb it appears to run every time also.
It runs every time under rpctrace, but doesn't actually make the CORBA call
(it ruturns 0).
Below I've included the outputs.
The source is at http://www.grawk.net/~nick/proj/hurd/testtrans/
It should also be noted that this behavior does not occur under gnu/linux.
Any insights would be appreciated!
-- ouputs of two consecuttive runs --
nick@fugue:~/nick/proj/hurd/testtrans$ ./test-random
Killed
nick@fugue:~/nick/proj/hurd/testtrans$ ./test-random
oy
foo
bar
baz
quux
886067709
shiz
cor
squid
-- end --
as always,
nick
nick@grawk.net * http://www.fargus.net/nick
Developer - Systems Engineer - Mad System Guru - MOO Sales
He picks up scraps of information/He's adept at adaptation
Because for strangers and arrangers/Constant change is here to stay
Reply to: