RTC driver bug in 1.3.91

Ulrich Windl (Ulrich.Windl@rz.uni-regensburg.de)
Mon, 29 Apr 1996 08:01:31 +0200


(Sorry, one of my disks with 1.3.95 had a CRC error)
In 1.3.91 the driver for /dev/rtc has a rather serious bug:

I had enabled periodic interrupts for a never ending loop.
Unfortunately I had a programming error in the program that made me
hit ^C. The program really stopped, but I wasn't able to successfully
start it again. Although I checked the error codes in my program, no
errors were signalled. I just seemed that no interrupts are delivered
to the program (i.e. read() from /dev/rtc lasts forever).
"ps -l" indicates that the process is blocked on "rtc_interrupt".

Roughly browsing the code showed that there's one pair with
save_flags/restore_flags, but without cli() between. Maybe it's
related, maybe it's not.

In fact I assume that upon termination of a process the open files
are closed (such as /dev/rtc). Maybe there's some code missing that
does a proper cleanup.

Ulrich