I have stumbled upon the incompatibility you mention in queue.h:
/*
* The qinit structure. It's used to hold the queue routines and info.
*
* The SVR4 DKI contains contradictory information about the types
* of the put and srv procedures. In the D2DK section, it says that
* that they are void type. In the D4DK section on qinit, it says
* that they are int type. I have made these 'void'. This may cause
* some compatibility problems. If this proves to be the case, change
* them back to 'int'. -- DMG
*/
The SVR4 Programmers Guide: STREAMS, as well as the actual system include
files on Solaris, m88k and UnixWare, agree that these 2 routines return int.
However, the very same STREAMS book in its example code never does anything
other than a plain "return;" from these procedures!! Nor was I actually able
to find what the return value is used for.
I examined some legacy code I was porting (which triggered this problem),
and noticed that it always does just "return 0;" in such cases. I just
wanted to report this as a real compatibility problem you suggested could
potentially occur.
Do you know of any real system where these are defined as void? If not,
perhaps, indeed, it's better to go to int on LiS, too, despite disregarding
of the return value? Maybe, make this a config. param?
Kind regards,
Vassilii
_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams