Revision c76da3dae3d7241a93fa88fb728b49687a3edae5 authored by Piotr Esden-Tempski on 12 November 2013, 03:39:03 UTC, committed by Felix Ruess on 18 November 2013, 23:27:54 UTC
We are now checking if the input channel is empty when receiving the IN
callback. If that is the case we assume that the child process exitted,
ond call the close process callback that normally is treggered by the
HUP callback.

Some background: On OS X glib is using it's own implementation of poll
that does not generate the HUP signal. (It would be possible to add this
functionality modelled after the SSH implementation of bsd_poll) The
glib implementation does generate IN signal when the pipe get's closed.
So we can just check if the input channel is empty and if that is the
case infer that the pipe got closed.
1 parent e180f58
Raw File
.gitignore
# ignore html dir for github pages
/doc/generated
/doc/manual/generated

*.so
*.[oa]
*.out

*~
*.swp

*.pyc

*.cmo
*.cma
*.cmi
*.cmx
*.cmxa

*.depend

*.aux

# Eclipse IDE project files
*.cproject
*.project
*.externalToolBuilders
.settings
.pydevproject
.metadata
/build.properties
/META-INF


/var
/dox

/paparazzi

# /conf/
/conf/conf.xml
/conf/conf.xml.20*
/conf/control_panel.xml
/conf/%gconf.xml
/conf/maps_data/*
/conf/maps.xml
/conf/gps/ublox_conf

# /doc/pprz_algebra/
/doc/pprz_algebra/headfile.log
/doc/pprz_algebra/headfile.toc

# /sw/ground_segment/cockpit/
/sw/ground_segment/cockpit/gtk_save_settings.ml
/sw/ground_segment/cockpit/gtk_setting_time.ml
/sw/ground_segment/cockpit/gcs
/sw/ground_segment/cockpit/gcs.opt
/sw/ground_segment/cockpit/gtk_strip.ml
/sw/ground_segment/cockpit/ant_track
/sw/ground_segment/cockpit/compass


# /sw/ground_segment/lpc21iap/
/sw/ground_segment/lpc21iap/lpc21iap

/sw/ground_segment/misc/ivy2serial

# /sw/ground_segment/multimon/
/sw/ground_segment/multimon/costabf.c
/sw/ground_segment/multimon/mkcostab
/sw/ground_segment/multimon/multimon
/sw/ground_segment/multimon/costabi.c

# /sw/ground_segment/tmtc/
/sw/ground_segment/tmtc/ivy_tcp_aircraft
/sw/ground_segment/tmtc/settings
/sw/ground_segment/tmtc/messages
/sw/ground_segment/tmtc/ivy_tcp_controller
/sw/ground_segment/tmtc/link
/sw/ground_segment/tmtc/broadcaster
/sw/ground_segment/tmtc/dia
/sw/ground_segment/tmtc/ivy2udp
/sw/ground_segment/tmtc/server
/sw/ground_segment/tmtc/server.opt
/sw/ground_segment/tmtc/diadec
/sw/ground_segment/tmtc/ivy_serial_bridge
/sw/ground_segment/tmtc/GSM/SMS_GS
/sw/ground_segment/tmtc/gpsd2ivy

# /sw/ground_segment/joystick
/sw/ground_segment/joystick/input2ivy
/sw/ground_segment/joystick/test_stick

/sw/in_progress/fdm/fdm_step
/sw/in_progress/fdm/fms_steps_attitude

# /sw/lib/ocaml/
/sw/lib/ocaml/gtk_papget_editor.ml
/sw/lib/ocaml/gtk_papget_text_editor.ml
/sw/lib/ocaml/gtk_papget_gauge_editor.ml
/sw/lib/ocaml/expr_lexer.ml
/sw/lib/ocaml/expr_parser.ml
/sw/lib/ocaml/expr_parser.mli
/sw/lib/ocaml/gtk_papget_led_editor.ml
/sw/lib/ocaml/expr_lexer.ml
/sw/lib/ocaml/META.pprz

# /sw/logalizer/
/sw/logalizer/plot
/sw/logalizer/play
/sw/logalizer/plotter
/sw/logalizer/gtk_export.ml
/sw/logalizer/sd2log
/sw/logalizer/plotprofile
/sw/logalizer/ahrsview
/sw/logalizer/ctrlstick
/sw/logalizer/ffjoystick
/sw/logalizer/imuview
/sw/logalizer/ivy_example
/sw/logalizer/motor_bench
/sw/logalizer/tmclient
/sw/logalizer/openlog2tlm

# /sw/simulator/
/sw/simulator/gaia
/sw/simulator/simhitl

# /sw/supervision/
/sw/supervision/gtk_process.ml
/sw/supervision/paparazzicenter
/sw/supervision/gtk_pc.ml

# /sw/tools/
/sw/tools/fp_parser.ml
/sw/tools/wiki_gen/wiki_gen
/sw/tools/mergelogs

# /sw/ground_segment/misc
/sw/ground_segment/misc/davis2ivy
/sw/ground_segment/misc/kestrel2ivy


# /sw/airborne/arch/lpc21/test/bootloader
/sw/airborne/arch/lpc21/test/bootloader/bl.dmp
/sw/airborne/arch/lpc21/test/bootloader/bl.hex
/sw/airborne/arch/lpc21/test/bootloader/bl.map
/sw/airborne/arch/lpc21/test/bootloader/bl.elf
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.dmp
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.hex
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.map
/sw/airborne/arch/lpc21/test/bootloader/bl_ram.elf
/sw/airborne/arch/lpc21/test/bootloader/crt.lst

# /sw/airborne/test
/sw/airborne/test/test_geodetic
/sw/airborne/test/test_algebra
/sw/airborne/test/test_matrix
/sw/airborne/test/test_att

/sw/airborne/test/ahrs/run_ahrs_on_synth

# Mac OS X
.DS_Store

sw/ground_segment/lpc21iap/lpc21iap.dSYM/Contents/Info.plist

sw/ground_segment/lpc21iap/lpc21iap.dSYM/Contents/Resources/DWARF/lpc21iap

tests/results/*

sw/logalizer/plotprofile.dSYM/Contents/Resources/DWARF/plotprofile

sw/logalizer/plotprofile.dSYM/Contents/Info.plist
back to top