Page MenuHomeFreeBSD

D24983.diff
No OneTemporary

D24983.diff

Index: head/sys/compat/linuxkpi/common/include/linux/timer.h
===================================================================
--- head/sys/compat/linuxkpi/common/include/linux/timer.h
+++ head/sys/compat/linuxkpi/common/include/linux/timer.h
@@ -78,12 +78,12 @@
callout_init(&(timer)->callout, 1); \
} while (0)
-extern void mod_timer(struct timer_list *, int);
+extern int mod_timer(struct timer_list *, int);
extern void add_timer(struct timer_list *);
extern void add_timer_on(struct timer_list *, int cpu);
extern int del_timer(struct timer_list *);
+extern int del_timer_sync(struct timer_list *);
-#define del_timer_sync(timer) (void)callout_drain(&(timer)->callout)
#define timer_pending(timer) callout_pending(&(timer)->callout)
#define round_jiffies(j) \
((int)(((j) + linux_timer_hz_mask) & ~linux_timer_hz_mask))
Index: head/sys/compat/linuxkpi/common/src/linux_compat.c
===================================================================
--- head/sys/compat/linuxkpi/common/src/linux_compat.c
+++ head/sys/compat/linuxkpi/common/src/linux_compat.c
@@ -1903,14 +1903,19 @@
timer->function(timer->data);
}
-void
+int
mod_timer(struct timer_list *timer, int expires)
{
+ int ret;
timer->expires = expires;
- callout_reset(&timer->callout,
+ ret = callout_reset(&timer->callout,
linux_timer_jiffies_until(expires),
&linux_timer_callback_wrapper, timer);
+
+ MPASS(ret == 0 || ret == 1);
+
+ return (ret == 1);
}
void
@@ -1936,6 +1941,15 @@
{
if (callout_stop(&(timer)->callout) == -1)
+ return (0);
+ return (1);
+}
+
+int
+del_timer_sync(struct timer_list *timer)
+{
+
+ if (callout_drain(&(timer)->callout) == -1)
return (0);
return (1);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 15, 10:51 PM (12 h, 43 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16666022
Default Alt Text
D24983.diff (1 KB)

Event Timeline