port io

Whenever I output a byte to my parallel port at 0x378, the new value stays on the output for about 10 seconds , then the data on the port reverts to what it was at the start of day. very odd.
Here is the basic functions that I have put into my program to do io:

ThreadCtl( _NO_TCTL_IO,0 ); /* set up permission /
.
.
.
mmap_device_io ( 0x8, 0x378 ); /
map 8 ports /
.
.
.
out8( 0x378, 0x55 ); /
output a byte to the port */

Does anybody know what is going on?
thanks.

You may need to slay devc-par