Andrew Johnson wrote:
You will need to worry about more than one thread - each
different scan period has its own thread, so it just takes the user
changing
the SCAN field of the record for your code to have to call iopl(3) yet
again, and if it's set to Process Passive then there are several other
tasks that might be used depending on how the processing is initiated.
Actually, it's not that bad in my case. All of the actual I/O is done
by an MPF server task. Device support just sends messages to the MPF
server, so the tasks that process the record do not need iopl()
privilege.
I've got it working by calling iopl() in the MPF server task
initialization. It's not as clean as I'd like, because it requires some
#ifdef linux code, but it's OK.