X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=lib%2Fstream-fd.c;h=6b782ec295c55ffce636721c219d2a299c4b7844;hb=70d19663e411c250362a0e71dd481c5efd41de8b;hp=2026db6afc1c7d562dfa0796a1cdcf5d0e16ad28;hpb=cc01d0bb79103a01aa0afc3484249fd518b877ea;p=openvswitch diff --git a/lib/stream-fd.c b/lib/stream-fd.c index 2026db6a..6b782ec2 100644 --- a/lib/stream-fd.c +++ b/lib/stream-fd.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2008, 2009, 2010 Nicira Networks. + * Copyright (c) 2008, 2009, 2010, 2012 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -42,10 +42,9 @@ struct stream_fd { struct stream stream; int fd; - char *unlink_path; }; -static struct stream_class stream_fd_class; +static const struct stream_class stream_fd_class; static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(10, 25); @@ -55,21 +54,17 @@ static void maybe_unlink_and_free(char *path); * and stores a pointer to the stream in '*streamp'. Initial connection status * 'connect_status' is interpreted as described for stream_init(). * - * When '*streamp' is closed, then 'unlink_path' (if nonnull) will be passed to - * fatal_signal_unlink_file_now() and then freed with free(). - * * Returns 0 if successful, otherwise a positive errno value. (The current * implementation never fails.) */ int new_fd_stream(const char *name, int fd, int connect_status, - char *unlink_path, struct stream **streamp) + struct stream **streamp) { struct stream_fd *s; s = xmalloc(sizeof *s); stream_init(&s->stream, &stream_fd_class, connect_status, name); s->fd = fd; - s->unlink_path = unlink_path; *streamp = &s->stream; return 0; } @@ -86,7 +81,6 @@ fd_close(struct stream *stream) { struct stream_fd *s = stream_fd_cast(stream); close(s->fd); - maybe_unlink_and_free(s->unlink_path); free(s); } @@ -154,8 +148,9 @@ fd_wait(struct stream *stream, enum stream_wait_type wait) } } -static struct stream_class stream_fd_class = { +static const struct stream_class stream_fd_class = { "fd", /* name */ + false, /* needs_probes */ NULL, /* open */ fd_close, /* close */ fd_connect, /* connect */ @@ -261,6 +256,7 @@ pfd_wait(struct pstream *pstream) static struct pstream_class fd_pstream_class = { "pstream", + false, NULL, pfd_close, pfd_accept,