On 29/08/2020 19:55, Michael Grunditz wrote:
On Sat, 29 Aug 2020 at 20:24, Lee Noar <lee.n...@sky.com> wrote:

On 29/08/2020 17:23, Michael Grunditz wrote:
Hi

I think that exiting from socketpair on "operation in progress" is a bug.
The pair of sockets is o k , and that message is more informative than error.

Having solved that , I have a follow up question:

Does sockets only exist in the current task? If I do
"wimp_start_task", can I use my socket in the new task?

No, although the underlining OS socket is I believe system wide, Unixlib
refers to them by file descriptor and these are allocated locally within
each task rather than system wide as Linux might do, so you can't
pass the file descriptors between tasks.

You may be able to pass the underlying OS socket between tasks, but
Unixlib in the task you pass it to would not be aware of it; I don't
think Unixlib can adopt an existing OS socket.

Ok, so if I pass the filedescriptor to the second task it will be void?

The second task may already be using that particular file descriptor
for something else and if it isn't then there's no way to bind it
to the OS socket that the first task is using.

Another option would be a mem based protocol.

That's the method I went with, I use a dynamic area to pass messages
between tasks. The dynamic area number is global and can be passed to
the second task on the command line when it starts.

Lee.

_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK

Reply via email to