~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/chromium/src/base/file_descriptor_posix.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2
 
// Use of this source code is governed by a BSD-style license that can be
3
 
// found in the LICENSE file.
4
 
 
5
 
#ifndef BASE_FILE_DESCRIPTOR_POSIX_H_
6
 
#define BASE_FILE_DESCRIPTOR_POSIX_H_
7
 
 
8
 
namespace base {
9
 
 
10
 
// -----------------------------------------------------------------------------
11
 
// We introduct a special structure for file descriptors in order that we are
12
 
// able to use template specialisation to special-case their handling.
13
 
//
14
 
// WARNING: (Chromium only) There are subtleties to consider if serialising
15
 
// these objects over IPC. See comments in ipc/ipc_message_utils.h
16
 
// above the template specialisation for this structure.
17
 
// -----------------------------------------------------------------------------
18
 
struct FileDescriptor {
19
 
  FileDescriptor()
20
 
      : fd(-1),
21
 
        auto_close(false) { }
22
 
 
23
 
  FileDescriptor(int ifd, bool iauto_close)
24
 
      : fd(ifd),
25
 
        auto_close(iauto_close) { }
26
 
 
27
 
  bool operator==(const FileDescriptor& other) const {
28
 
    return (fd == other.fd && auto_close == other.auto_close);
29
 
  }
30
 
 
31
 
  // A comparison operator so that we can use these as keys in a std::map.
32
 
  bool operator<(const FileDescriptor& other) const {
33
 
    return other.fd < fd;
34
 
  }
35
 
 
36
 
  int fd;
37
 
  // If true, this file descriptor should be closed after it has been used. For
38
 
  // example an IPC system might interpret this flag as indicating that the
39
 
  // file descriptor it has been given should be closed after use.
40
 
  bool auto_close;
41
 
};
42
 
 
43
 
}  // namespace base
44
 
 
45
 
#endif  // BASE_FILE_DESCRIPTOR_POSIX_H_