Opened 10 years ago

Last modified 10 years ago

#2958 new Patches

[patch] changes to make asio compile on vxWorks

Reported by: Dustin Spicuzza <dustin@…> Owned by: chris_kohlhoff
Milestone: Boost 1.39.0 Component: asio
Version: Boost 1.38.0 Severity: Showstopper
Keywords: vxworks Cc:


An explanation of some of the changes:

socket/pipe interrupter: Despite that vxWorks has a pipe facility, it appears that you must create a named pipe, and then open the file, which is a bit different than the unix pipe function. Since its not clear to me how many different interrupters may be created by asio, its far easier to use the select_interrupter instead (and it works just as well).

socket_ops: for whatever reason the arguments to its socket related functions take an int, and a socklen_t is an unsigned int. there are also a number of functions where a non-const arg is passed that apparently is typically a const arg on other systems.

socket_ops/descriptor_ops: when running as a kernel module, apparently open and ioctl have three fixed arguments, with the third argument being an integer. outside of kernel modules it appears to have the traditional API.

Patch from ticket #2917 is required for vxWorks as well, since it does not support serial ports via termios.

There are patches to other boost libraries required also, those have been submitted in other bugs.

Attachments (1)

boost_1_38_0.asio.vxworks.patch (8.1 KB) - added by Dustin Spicuzza <dustin@…> 10 years ago.

Download all attachments as: .zip

Change History (2)

Changed 10 years ago by Dustin Spicuzza <dustin@…>

comment:1 Changed 10 years ago by Dustin Spicuzza <dustin@…>

Severity: ProblemShowstopper
Type: BugsPatches
Note: See TracTickets for help on using tickets.