Skip to content
  • Michael Natterer's avatar
    After a weekend of extensive mail exchange with the signal crew, we · 3fc6d56d
    Michael Natterer authored
    2000-05-14  Michael Natterer  <mitch@gimp.org>
    
    	After a weekend of extensive mail exchange with the signal crew,
    	we finally found that #2742 is not a Gimp bug but a real OSF/1
    	bug. OSF/1 does _not_ reliably restart read() and write() calls
    	on certain slow devices (pipes).
    
    	* libgimp/gimpwire.[ch]: guard all read/write calls on the wire
    	with loops checking for EINTR. This has to be done "manually"
    	as glib's GIOChannels return G_IO_ERROR_UNKNOWN on the occurence
    	of EINTR (which is a bug, too).
    	s/int/gboolean and minor cleanups while I was on it (not changing
    	any logic).
    
    	This fix depends on the current (broken) state of the GIOChannel
    	implementation and is scheduled for removal as soon as glib
    	behaves nicely here.
    
    	Left SA_RESTART there for the moment in app/main.c. See it as
    	defensive programming or just my fear to change two #2742-related
    	places at the same time. We might choose to remove SA_RESTART
    	later. Many thanks again to Austin, Garry and Tim.
    3fc6d56d