author | mickeyl <mickeyl> | 2003-05-07 13:44:23 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2003-05-07 13:44:23 (UTC) |
commit | 4619398b4712062e65d1919156edea38785c590e (patch) (side-by-side diff) | |
tree | 4d00604960974ca16f9d40468bce4c096e2a76b0 /libopie | |
parent | 83f53eede83728c131b1134ae0a674a7d8f6f00a (diff) | |
download | opie-4619398b4712062e65d1919156edea38785c590e.zip opie-4619398b4712062e65d1919156edea38785c590e.tar.gz opie-4619398b4712062e65d1919156edea38785c590e.tar.bz2 |
fix bug kergoth introduced in rev 1.43
fd was an integer static to the function which means that the assignment only
happens once. This is ok, when we don't close the device, but not if we close
it after usage. Thanks to eilers for confirming! I wonder why noone else spotted this...
-rw-r--r-- | libopie/odevice.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp index 62e3569..7d862cd 100644 --- a/libopie/odevice.cpp +++ b/libopie/odevice.cpp @@ -1283,49 +1283,49 @@ void Zaurus::initButtons ( ) #define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1) typedef struct sharp_led_status { int which; /* select which LED status is wanted. */ int status; /* set new led status if you call SHARP_LED_SETSTATUS */ } sharp_led_status; #define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */ #define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */ #define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */ #define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */ // #include <asm/sharp_apm.h> // including kernel headers is evil ... #define APM_IOCGEVTSRC OD_IOR( 'A', 203, int ) #define APM_IOCSEVTSRC OD_IORW( 'A', 204, int ) #define APM_EVT_POWER_BUTTON (1 << 0) #define FL_IOCTL_STEP_CONTRAST 100 void Zaurus::buzzer ( int sound ) { - static int fd = ::open ( "/dev/sharp_buz", O_WRONLY|O_NONBLOCK ); + int fd = ::open ( "/dev/sharp_buz", O_WRONLY|O_NONBLOCK ); if ( fd >= 0 ) { ::ioctl ( fd, SHARP_BUZZER_MAKESOUND, sound ); ::close ( fd ); } } void Zaurus::alarmSound ( ) { buzzer ( SHARP_BUZ_SCHEDULE_ALARM ); } void Zaurus::touchSound ( ) { buzzer ( SHARP_BUZ_TOUCHSOUND ); } void Zaurus::keySound ( ) { buzzer ( SHARP_BUZ_KEYSOUND ); } |