Note that this requires that your UDP packet doesn't get fragmented, I think.
And you can use the same technique with a single pipe. You need to make sure your writes don't get fragmented so you have to keep each task description under the "system buffer size", typically 4KB, I believe.
Don't use <$handle> read the tasks, use read or sysread instead. You can write the tasks with print if you use a single print statement and have auto flushing turned on or you can use syswrite to be more explicit about the atomic nature you desire.
|