~rdoering/ubuntu/intrepid/erlang/fix-535090

« back to all changes in this revision

Viewing changes to erts/emulator/sys/unix/erl_check_io.h

  • Committer: Bazaar Package Importer
  • Author(s): Soren Hansen
  • Date: 2007-05-01 16:57:10 UTC
  • mfrom: (1.1.9 upstream)
  • Revision ID: james.westby@ubuntu.com-20070501165710-2sapk0hp2gf3o0ip
Tags: 1:11.b.4-2ubuntu1
* Merge with Debian Unstable. Remaining changes:
  - Add -fno-stack-protector to fix broken crypto_drv.
* DebianMaintainerField update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
#ifndef ERL_CHECK_IO_H__
26
26
#define ERL_CHECK_IO_H__
27
27
 
 
28
#include "erl_sys_driver.h"
 
29
 
28
30
#ifdef ERTS_ENABLE_KERNEL_POLL
29
31
 
30
32
int driver_select_kp(ErlDrvPort, ErlDrvEvent, int, int);
37
39
Eterm erts_check_io_info_nkp(void *);
38
40
int erts_check_io_max_files_kp(void);
39
41
int erts_check_io_max_files_nkp(void);
 
42
void erts_check_io_interrupt_kp(int);
 
43
void erts_check_io_interrupt_nkp(int);
 
44
void erts_check_io_interrupt_timed_kp(int, long);
 
45
void erts_check_io_interrupt_timed_nkp(int, long);
40
46
void erts_check_io_kp(int);
41
47
void erts_check_io_nkp(int);
42
48
void erts_init_check_io_kp(void);
44
50
int erts_check_io_debug_kp(void);
45
51
int erts_check_io_debug_nkp(void);
46
52
 
47
 
#ifdef ERTS_SMP
48
 
void erts_wake_io_thread_kp(void);
49
 
void erts_wake_io_thread_nkp(void);
50
 
#endif
51
 
 
52
53
#else /* !ERTS_ENABLE_KERNEL_POLL */
53
54
 
54
55
Uint erts_check_io_size(void);
55
56
Eterm erts_check_io_info(void *);
56
57
int erts_check_io_max_files(void);
 
58
void erts_check_io_interrupt(int);
 
59
void erts_check_io_interrupt_timed(int, long);
57
60
void erts_check_io(int);
58
61
void erts_init_check_io(void);
59
62
 
61
64
 
62
65
#endif /*  ERL_CHECK_IO_H__ */
63
66
 
 
67
#if !defined(ERL_CHECK_IO_C__) && !defined(ERTS_ALLOC_C__)
 
68
#define ERL_CHECK_IO_INTERNAL__
 
69
#endif
 
70
 
 
71
#ifndef ERL_CHECK_IO_INTERNAL__
 
72
#define ERL_CHECK_IO_INTERNAL__
 
73
#include "erl_poll.h"
 
74
#include "erl_port_task.h"
 
75
 
 
76
/*
 
77
 * ErtsDrvEventDataState is used by driver_event() which is almost never
 
78
 * used. We allocate ErtsDrvEventDataState separate since we dont wan't
 
79
 * the size of ErtsDrvEventState to increase due to driver_event()
 
80
 * information.
 
81
 */
 
82
typedef struct {
 
83
    Eterm port;
 
84
    ErlDrvEventData data;
 
85
    ErtsPollEvents removed_events;
 
86
#ifdef ERTS_USE_PORT_TASKS
 
87
    ErtsPortTaskHandle task;
 
88
#endif
 
89
} ErtsDrvEventDataState;
 
90
 
 
91
typedef struct {
 
92
    Eterm inport;
 
93
    Eterm outport;
 
94
#ifdef ERTS_USE_PORT_TASKS
 
95
    ErtsPortTaskHandle intask;
 
96
    ErtsPortTaskHandle outtask;
 
97
#endif
 
98
} ErtsDrvSelectDataState;
 
99
#endif /* #ifndef ERL_CHECK_IO_INTERNAL__ */