Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 269977
b: refs/heads/master
c: f06ac72
h: refs/heads/master
i:
  269975: 154ecc7
v: v3
  • Loading branch information
Jeff Layton committed Oct 19, 2011
1 parent 9db1066 commit bb10c7f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: fef33df88bef6810cc3c4e6edf55c741a8fd68e3
refs/heads/master: f06ac72e929115f2772c29727152ba0832d641e4
3 changes: 2 additions & 1 deletion trunk/fs/cifs/transport.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include <linux/wait.h>
#include <linux/net.h>
#include <linux/delay.h>
#include <linux/freezer.h>
#include <asm/uaccess.h>
#include <asm/processor.h>
#include <linux/mempool.h>
Expand Down Expand Up @@ -324,7 +325,7 @@ wait_for_response(struct TCP_Server_Info *server, struct mid_q_entry *midQ)
{
int error;

error = wait_event_killable(server->response_q,
error = wait_event_freezekillable(server->response_q,
midQ->midState != MID_REQUEST_SUBMITTED);
if (error < 0)
return -ERESTARTSYS;
Expand Down
19 changes: 17 additions & 2 deletions trunk/include/linux/freezer.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,10 +134,25 @@ static inline void set_freezable_with_signal(void)
}

/*
* Freezer-friendly wrappers around wait_event_interruptible() and
* wait_event_interruptible_timeout(), originally defined in <linux/wait.h>
* Freezer-friendly wrappers around wait_event_interruptible(),
* wait_event_killable() and wait_event_interruptible_timeout(), originally
* defined in <linux/wait.h>
*/

#define wait_event_freezekillable(wq, condition) \
({ \
int __retval; \
do { \
__retval = wait_event_killable(wq, \
(condition) || freezing(current)); \
if (__retval && !freezing(current)) \
break; \
else if (!(condition)) \
__retval = -ERESTARTSYS; \
} while (try_to_freeze()); \
__retval; \
})

#define wait_event_freezable(wq, condition) \
({ \
int __retval; \
Expand Down

0 comments on commit bb10c7f

Please sign in to comment.