diff options
author | Neal H. Walfield <neal@gnu.org> | 2002-04-02 02:06:59 +0000 |
---|---|---|
committer | Neal H. Walfield <neal@gnu.org> | 2002-04-02 02:06:59 +0000 |
commit | 7f0f4a829b4ec0c5917f3d5e7b7f2af88149b138 (patch) | |
tree | 1e14fa01a75defaf8e19ecd958820b24be145aed /libpager | |
parent | 4e5e1542df8abcbbbf052f015b46820a0608d6d1 (diff) |
2002-04-01 Neal H Walfield <neal@cs.uml.edu>
* data-request.c (_pager_seqnos_memory_object_data_request): Must
hold P->interlock when calling _pager_allow_termination.
Diffstat (limited to 'libpager')
-rw-r--r-- | libpager/data-request.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/libpager/data-request.c b/libpager/data-request.c index 95ec6d27..82d9b552 100644 --- a/libpager/data-request.c +++ b/libpager/data-request.c @@ -1,5 +1,5 @@ /* Implementation of memory_object_data_request for pager library - Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation + Copyright (C) 1994,95,96,97,2000,02 Free Software Foundation This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as @@ -130,17 +130,13 @@ _pager_seqnos_memory_object_data_request (mach_port_t object, ports_port_deref (p); return 0; - allow_term_out: - mutex_lock (&p->interlock); - _pager_allow_termination (p); - mutex_unlock (&p->interlock); - ports_port_deref (p); - return 0; - error_read: memory_object_data_error (p->memobjcntl, offset, length, EIO); _pager_mark_object_error (p, offset, length, EIO); + allow_term_out: + mutex_lock (&p->interlock); _pager_allow_termination (p); + mutex_unlock (&p->interlock); ports_port_deref (p); return 0; |