summaryrefslogtreecommitdiff
path: root/source3/rpc_server/srv_pipe_hnd.c
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1998-08-17 03:52:05 +0000
committerAndrew Tridgell <tridge@samba.org>1998-08-17 03:52:05 +0000
commit8978aae69699ccab76fdf95037948b1cc7e7c286 (patch)
tree19d2fdbc1da4d4353d226a81960f500ac06c0359 /source3/rpc_server/srv_pipe_hnd.c
parentf2d538a105a61ce6d2852700fc328e15ac158827 (diff)
downloadsamba-8978aae69699ccab76fdf95037948b1cc7e7c286.tar.gz
samba-8978aae69699ccab76fdf95037948b1cc7e7c286.tar.bz2
samba-8978aae69699ccab76fdf95037948b1cc7e7c286.zip
much cleaner chain pointer handling for both files and pipes.
the chain pointer is now stored as a static and is set whenever a handle is created or extracted. This also makes the code less error prone. (This used to be commit 068a862982bea726e8d7b1b4065d510b9840a272)
Diffstat (limited to 'source3/rpc_server/srv_pipe_hnd.c')
-rw-r--r--source3/rpc_server/srv_pipe_hnd.c15
1 files changed, 5 insertions, 10 deletions
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c
index dfc4eeba5f..368bf013a0 100644
--- a/source3/rpc_server/srv_pipe_hnd.c
+++ b/source3/rpc_server/srv_pipe_hnd.c
@@ -51,14 +51,6 @@ void reset_chain_p(void)
}
/****************************************************************************
- sets chain pipe-file handle
-****************************************************************************/
-void set_chain_p(pipes_struct *new_p)
-{
- chain_p = new_p;
-}
-
-/****************************************************************************
initialise pipe handle states...
****************************************************************************/
void init_rpc_pipe_hnd(void)
@@ -136,7 +128,7 @@ pipes_struct *open_rpc_pipe_p(char *pipe_name,
DEBUG(4,("Opened pipe %s with handle %x (pipes_open=%d)\n",
pipe_name, i, pipes_open));
- set_chain_p(p);
+ chain_p = p;
return p;
}
@@ -335,7 +327,10 @@ pipes_struct *get_rpc_pipe(int pnum)
pipes_struct *p;
for (p=Pipes;p;p=p->next) {
- if (p->pnum == pnum) return p;
+ if (p->pnum == pnum) {
+ chain_p = p;
+ return p;
+ }
}
return NULL;