On Sat, 2005-09-03 at 18:54 +0200, Francois PIETTE wrote:
> IMO Linux lack both true async socket, and messaging system.

I wouldn't say so. By using fnctl() one can do the following: set a
socket descriptor F_SETFL - O_ASYNC and possibly F_SETOWN if the process
receiving SIGIO has to be something else than this one and you have
truly asynchronous sockets: You just select() when you receive the
signal. That should be the Linux/POSIX-specific way to do it, with no
threads needed. Actually, AFAIK a threaded implementation is only needed
if it is absolutely necessary to maintain cross-platform support. The
real question is if it is desired to have the rewritten component
support other platforms than Linux (and other POSIX-compliant ones),
which would indeed require a decent threaded implementation. And making
multithreaded code right is hard :(

If anyone spots any errors in the above passage, feel free to correct
me. I haven't done true async for a long time, so I may be a bit rusty.

> Linux has non-blocking socket but no mechanism to tell the application when 
> the socket is ready to send or has received something. You have to use the 
> trick I used.

See above. Signals should make it possible, unless I'm horribly
mistaken.

> Linux has no windows like messaging system, that's why QT built his own. But 
> QT implementation is far too slow for anything else than a user interface. 
> And using QT is only possible when X-Window is loaded !

Yes, it is true that QT's implementation is dead slow.

Best regards,

Ari Sundholm
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Author of cddbcomp - THE Delphi component for freedb access
Moderator of freedb forums
freedb core team
Support languages: Finnish, English, German, Swedish
DISCLAIMER: Despite being part of the freedb team I only represent myself 
unless otherwise noted. Freedb is in no way responsible for my actions or 
opinions.

> ----- Original Message ----- 
> From: "Ari Sundholm" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <[email protected]>
> Sent: Saturday, September 03, 2005 3:22 PM
> Subject: Re: [twsocket] ICS for Linux Development
> 
> 
> > Hello Eric, hello everyone!
> >
> >> locks up (threading).  In speaking to Ari Sundholm about this, he 
> >> mentioned
> >> that the design of the TICSSocket components is a bit awkward and that 
> >> this
> >> sort of thing was bound to happen.  I fully concur with what he has said,
> >> and feel that a total rewrite of the component set under Linux is 
> >> required.
> >> I don't think that many on this mailing list are using TICSSocket, or we
> >> probably would have seen this issue raise it's head in a bigger way.  I
> >> however have a product that is contracted to work under Windows and under
> >> Linux and I must move forward on this now.  I cannot delay any further
> >> waiting for this to be addressed.
> >
> > IIRC the reason for the awkwardness was the assumption that async
> > sockets don't exist in Linux (which is simply untrue AFAIK - or am I on
> > crack?) and/or the lack of a messaging system such as in Windows.
> > Therefore an elaborate threaded message passing system was built - with
> > a huge number of subtle as well as obvious bugs (which haven't been
> > debugged and fixed due to my laziness during my scarce free time). I
> > think a completely new approach has to be taken, but I will have to do
> > some reading and thinking to be of any substantial help regarding
> > design. Unfortunately, I have quite serious time problems at the moment
> > due to moving to Japan at the end of September.
> >
> >> Therefore, I would like to re-develop the core component (TWSocket) set
> >> under the Linux platform using Kylix 3.  The intention is to build a 
> >> version
> >> of the core components that is fully compatibly (from an interface
> >> perspective anyway) with TWSocket and then to donate it back to this 
> >> forum.
> >> Francois, I would want your blessing to do this, and after that has been
> >> given, will invite all of those who are interested and who can commit 
> >> time
> >> on a weekly basis to this project to volunteer to join this project.  If 
> >> a
> >> team is not assembled, then I will proceed with this project on my own as 
> >> I
> >> am now getting into serious time constraints.
> >
> > I will try to be available as much as possible in case you need help. I
> > think I'll be able to squeeze a few hours per week, depending on my
> > other responsibilities.
> >
> > What are your time constraints? Are we speaking of weeks or months?
> >
> >> Regards
> >>
> >> Erich Kuba
> >
> > Best regards,
> >
> > Ari Sundholm
> > [EMAIL PROTECTED]
> > [EMAIL PROTECTED]
> > Author of cddbcomp - THE Delphi component for freedb access
> > Moderator of freedb forums
> > freedb core team
> > Support languages: Finnish, English, German, Swedish
> > DISCLAIMER: Despite being part of the freedb team I only represent myself 
> > unless otherwise noted. Freedb is in no way responsible for my actions or 
> > opinions.
> >
> > -- 
> > To unsubscribe or change your settings for TWSocket mailing list
> > please goto http://www.elists.org/mailman/listinfo/twsocket
> > Visit our website at http://www.overbyte.be 
> 
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
> 


-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to