Home
last modified time | relevance | path

Searched full:blocking (Results 1 – 25 of 1010) sorted by relevance

12345678910>>...41

/freebsd/crypto/openssl/doc/designs/quic-design/
H A Dquic-io-arch.md18 also have the ability to operate in “blocking” mode.
30 - We want to support both blocking and non-blocking semantics
33 - In the case of non-blocking applications, it must be possible
59 Note that the discussion in this document primarily concerns usage of blocking
60 vs. non-blocking I/O in the interface between the QUIC implementation and an
63 libssl, which will support both blocking and non-blocking I/O.
65 Blocking vs. Non-Blocking Modes in Underlying Network BIOs
68 The above constraints make it effectively a requirement that non-blocking I/O be
70 first consider how QUIC might be implemented using blocking network I/O
73 To function correctly and provide blocking semantics at the application level,
[all …]
H A Dquic-concurrency.md10 with. Moreover, blocking I/O at an application level may not be supported.
18 and polling solution which can support blocking API calls in a Berkeley
26 non-blocking basis. Determining *when* to do anything is largely the
48 Blocking API calls are not supported under this model. This model is intended
68 This model may be used either in a variant which does not support blocking
69 (NB-CCM) or which does support blocking (B-CCM). The blocking variant must
70 spin up additional OS resources to correctly support blocking semantics.
96 Blocking API calls are supported under this model.
100 | Model | Sophistication | Concurrency | Blocking Supported | OS Resources …
111 - **Blocking Supported:** Whether blocking calls to e.g. `SSL_read` can be
[all …]
/freebsd/crypto/openssl/doc/man3/
H A DSSL_set_blocking_mode.pod5 SSL_set_blocking_mode, SSL_get_blocking_mode - configure blocking mode for a
12 int SSL_set_blocking_mode(SSL *s, int blocking);
17 SSL_set_blocking_mode() can be used to enable or disable blocking mode on a QUIC
18 connection SSL object. By default, blocking is enabled, unless the SSL object is
20 descriptor (see L<BIO_get_rpoll_descriptor(3)>), as blocking mode cannot be
23 To enable blocking mode, call SSL_set_blocking_mode() with I<blocking> set to 1;
24 to disable it, call SSL_set_blocking_mode() with I<blocking> set to 0.
26 To retrieve the current blocking mode, call SSL_get_blocking_mode().
28 Blocking mode means that calls such as SSL_read() and SSL_write() will block
34 of SSL object, such as those for TLS, automatically function in blocking or
[all …]
H A DBIO_should_retry.pod77 If the underlying I/O structure is in a blocking mode almost all current
84 retry even if the underlying I/O structure is blocking, if a handshake
89 While an application may retry a failed non blocking call immediately
98 conditions of several non blocking BIOs in a single select() call
106 is to use non blocking I/O and use a timeout on the select() (or
111 The OpenSSL ASN1 functions cannot gracefully deal with non blocking I/O:
/freebsd/secure/lib/libcrypto/man/man3/
H A DSSL_set_blocking_mode.364 SSL_set_blocking_mode, SSL_get_blocking_mode \- configure blocking mode for a
71 \& int SSL_set_blocking_mode(SSL *s, int blocking);
76 \&\fBSSL_set_blocking_mode()\fR can be used to enable or disable blocking mode on a QUIC
77 connection SSL object. By default, blocking is enabled, unless the SSL object is
79 descriptor (see \fBBIO_get_rpoll_descriptor\fR\|(3)), as blocking mode cannot be
82 To enable blocking mode, call \fBSSL_set_blocking_mode()\fR with \fIblocking\fR set to 1;
83 to disable it, call \fBSSL_set_blocking_mode()\fR with \fIblocking\fR set to 0.
85 To retrieve the current blocking mode, call \fBSSL_get_blocking_mode()\fR.
87 Blocking mode means that calls such as \fBSSL_read()\fR and \fBSSL_write()\fR will block
93 of SSL object, such as those for TLS, automatically function in blocking or
[all …]
H A DBIO_s_connect.3151 \&\fBBIO_set_nbio()\fR sets the non blocking I/O flag to \fBn\fR. If \fBn\fR is
152 zero then blocking I/O is set. If \fBn\fR is 1 then non blocking I/O
153 is set. Blocking I/O is the default. The call to \fBBIO_set_nbio()\fR
155 non blocking I/O is set during the connect process.
164 The call \fBBIO_should_retry()\fR should be used for non blocking connect BIOs
182 If blocking I/O is set then a non positive return value from any
201 If non blocking I/O is set then retries will be requested as appropriate.
/freebsd/secure/lib/libcrypto/man/man7/
H A Dopenssl-quic-concurrency.7152 .SH "BLOCKING I/O CAPABILITIES"
153 .IX Header "BLOCKING I/O CAPABILITIES"
154 All of the supported concurrency models are capable of supporting blocking I/O
157 serviced. This includes the use of \fBSSL_poll\fR\|(3) in a blocking fashion.
159 Supporting blocking API calls reliably with multi-threaded usage requires the
164 the chosen concurrency model, blocking API calls may not be available and calls
165 to \fBSSL_set_blocking_mode\fR\|(3) attempting to enable blocking mode may fail,
167 .SS "Legacy Blocking Support Compatibility"
168 .IX Subsection "Legacy Blocking Support Compatibility"
169 OpenSSL 3.2 and 3.3 contained a buggy implementation of blocking QUIC I/O calls
[all …]
H A Dossl-guide-quic-introduction.790 "head-of-line blocking"). It also enables an application to open additional
139 Fortunately a blocking application that does not leave the QUIC connection idle,
188 .SH "SOCKETS AND BLOCKING"
189 .IX Header "SOCKETS AND BLOCKING"
198 applications is the way that blocking is implemented. In TLS if your application
199 expects blocking behaviour then you configure the underlying socket for
200 blocking. Conversely if your application wants nonblocking behaviour then the
205 in blocking mode. So, from an application's perspective, calls to functions such
207 block. OpenSSL itself provides that blocking capability for QUIC instead of the
213 concepts in order to write a simple blocking QUIC client.
[all …]
H A Dossl-guide-introduction.7132 .IP "\fBossl\-guide\-tls\-client\-block\fR\|(7): Writing a simple blocking TLS client" 4
133 .IX Item "ossl-guide-tls-client-block: Writing a simple blocking TLS client"
136 .IP "\fBossl\-guide\-tls\-server\-block\fR\|(7): Writing a simple blocking TLS server" 4
137 .IX Item "ossl-guide-tls-server-block: Writing a simple blocking TLS server"
140 .IP "\fBossl\-guide\-quic\-client\-block\fR\|(7): Writing a simple blocking QUIC client" 4
141 .IX Item "ossl-guide-quic-client-block: Writing a simple blocking QUIC client"
142 .IP "\fBossl\-guide\-quic\-server\-block\fR\|(7): Writing a simple blocking QUIC server" 4
143 .IX Item "ossl-guide-quic-server-block: Writing a simple blocking QUIC server"
H A Dopenssl-quic.7126 complete (either blocking, or failing appropriately if nonblocking mode is
198 and \fBSSL_write\fR\|(3) operated in a blocking fashion was directly correlated with
199 whether the underlying network socket was configured in a blocking fashion. This
201 application-level blocking mode using \fBSSL_set_blocking_mode\fR\|(3). See
205 application can still enjoy blocking semantics for calls to application-level
208 in nonblocking mode. For application-level blocking functionality, see
352 desired. Implementing these methods is required if blocking semantics at the SSL
359 in blocking mode or not. Traditionally, an SSL object has automatically operated
360 in blocking or nonblocking mode based on whether the underlying network BIO
361 operates in blocking or nonblocking mode. QUIC requires the use of a
[all …]
/freebsd/crypto/openssl/doc/designs/ddd/
H A DREPORT.md33 ddd-01-conn-blocking
63 This demo exists to demonstrate simple non-blocking usage. As with
64 ddd-01-conn-blocking, the name resolution process is managed by `BIO_s_connect`.
73 - Change of method (as for ddd-01-conn-blocking);
98 - Change of method name (as for ddd-01-conn-blocking);
100 - Use of ALPN (as for ddd-01-conn-blocking);
164 - Use of ALPN (as for ddd-01-conn-blocking);
172 ddd-03-fd-blocking
175 This demo is similar to ddd-01-conn-blocking but uses a file descriptor passed
180 - Change of method (as for ddd-01-conn-blocking);
[all …]
H A DREADME.md88 * Blk: Whether the application uses blocking or non-blocking I/O.
89 * S: Blocking (Synchronous)
110 | [ddd-01-conn-blocking](ddd-01-conn-blocking.c) | S-BIOc | A `BIO_s_connect`-based blocking exampl…
112 | [ddd-03-fd-blocking](ddd-03-fd-blocking.c) | S-AOSF | A `SSL_set_fd`-based blocking example demon…
113 | [ddd-04-fd-nonblocking](ddd-04-fd-nonblocking.c) | A-AOSF | A `SSL_set_fd`-based non-blocking exa…
114 | [ddd-05-mem-nonblocking](ddd-05-mem-nonblocking.c) | A-BIOm | A non-blocking example based on use…
115 | [ddd-06-mem-uv](ddd-06-mem-uv.c) | A-BIOm | A non-blocking example based on use of a memory buffe…
/freebsd/crypto/openssl/include/internal/
H A Dquic_reactor_wait_ctx.h23 * blocking call on another thread to be able to make forward progress, we need
24 * to know when a thread enters and exits a blocking call. The details of why
35 * This utility allows multiple blocking operations to be registered on a given
36 * thread. Moreover, it allows multiple blocking operations to be registered
39 * In short, this allows multiple 'concurrent' blocking calls to be ongoing on a
41 * multiple concurrent blocking calls on a single thread makes no sense, the
43 * it natural for us to implement it simply by registering a blocking call per
56 * QUIC_REACTOR_WAIT_CTX before commencing a blocking operation, and then calls
58 * in the imminent blocking operation. Later it must ensure it calls
64 * multithreaded blocking to work correctly.
[all …]
H A Dquic_reactor.h64 * If the SSL object is being used in blocking mode, SSL_read may need to block
69 * application desires blocking semantics, we handle this by adding a blocking
118 * Count of the current number of blocking waiters. Like everything else,
192 * Blocking I/O Adaptation Layer
195 * The blocking I/O adaptation layer implements blocking I/O on top of our
203 * The core mechanism of the Blocking I/O Adaption Layer is block_until_pred(),
211 * circuit the blocking process.
230 * functions it is implementing blocking semantics itself. There is no need to
248 * This is used by blocking code outside of the reactor itself to inform the
249 * reactor of when a thread begins or ends a blocking call. This is used by the
[all …]
/freebsd/crypto/openssl/doc/man7/
H A Dopenssl-quic-concurrency.pod125 =head1 BLOCKING I/O CAPABILITIES
127 All of the supported concurrency models are capable of supporting blocking I/O
130 serviced. This includes the use of L<SSL_poll(3)> in a blocking fashion.
132 Supporting blocking API calls reliably with multi-threaded usage requires the
137 the chosen concurrency model, blocking API calls may not be available and calls
138 to L<SSL_set_blocking_mode(3)> attempting to enable blocking mode may fail,
141 =head2 Legacy Blocking Support Compatibility
143 OpenSSL 3.2 and 3.3 contained a buggy implementation of blocking QUIC I/O calls
150 concurrency model or disable it. This is known as Legacy Blocking Compatibility
169 concurrency model and b) explicitly opt in or out of blocking I/O support
[all …]
H A Dossl-guide-quic-introduction.pod36 "head-of-line blocking"). It also enables an application to open additional
94 Fortunately a blocking application that does not leave the QUIC connection idle,
146 =head1 SOCKETS AND BLOCKING
156 applications is the way that blocking is implemented. In TLS if your application
157 expects blocking behaviour then you configure the underlying socket for
158 blocking. Conversely if your application wants nonblocking behaviour then the
163 in blocking mode. So, from an application's perspective, calls to functions such
165 block. OpenSSL itself provides that blocking capability for QUIC instead of the
172 concepts in order to write a simple blocking QUIC client.
175 concepts in order to write a simple blocking QUIC server.
/freebsd/contrib/libpcap/
H A Dpcap_setnonblock.3pcap23 non-blocking mode on a capture device
42 puts a capture handle into ``non-blocking'' mode, or takes it out
43 of ``non-blocking'' mode, depending on whether the
52 ``non-blocking'' mode, an attempt to read from the capture descriptor
59 immediately rather than blocking waiting for packets to arrive.
78 a capture handle is not in ``non-blocking mode''; a call to
80 is required in order to put it into ``non-blocking'' mode.
90 returns the current ``non-blocking'' state of the capture descriptor on
/freebsd/contrib/llvm-project/llvm/include/llvm/Support/
H A DThreadPool.h60 /// Blocking wait for all the threads to complete and the queue to be empty.
61 /// It is an error to try to add new tasks while blocking on this call.
65 /// Blocking wait for only all the threads in the given group to complete.
76 /// used to wait for the task to finish and is *non-blocking* on destruction.
93 /// used to wait for the task to finish and is *non-blocking* on destruction.
109 /// used to wait for the task to finish and is *non-blocking* on destruction.
132 /// Blocking destructor: the pool will wait for all the threads to complete.
135 /// Blocking wait for all the threads to complete and the queue to be empty.
136 /// It is an error to try to add new tasks while blocking on this call.
140 /// Blocking wait for only all the threads in the given group to complete.
[all …]
/freebsd/share/man/man3/
H A Dpthread_signals_block_np.316 .Nd fast asynchronous signals blocking and unblocking
31 signals blocking facility
34 Blocking signals with
37 Signal blocking establishes a critical section where the execution
39 Blocking signals is fast, it is performed by a single memory write into
/freebsd/contrib/llvm-project/compiler-rt/lib/profile/
H A DWindowsMMap.c127 static int lock(HANDLE handle, DWORD lockType, BOOL blocking) {
129 if (!blocking) in lock()
139 // In non-blocking mode, return an error if the file is locked. in lock()
140 if (!blocking && dw == ERROR_LOCK_VIOLATION) in lock()
162 BOOL blocking = (operation & LOCK_NB) == 0; in flock()
167 return lock(handle, LOCKFILE_EXCLUSIVE_LOCK, blocking); in flock()
170 return lock(handle, 0, blocking); in flock()
128 lock(HANDLE handle,DWORD lockType,BOOL blocking) lock() argument
163 BOOL blocking = (operation & LOCK_NB) == 0; flock() local
/freebsd/contrib/unbound/util/
H A Dtube.h141 * Set to blocking by the function,
142 * and back to non-blocking at exit of function.
147 * If set false, the first write is blocking.
149 * return 0 on error, in that case blocking/nonblocking of socket is
161 * Set to blocking by the function,
162 * and back to non-blocking at exit of function.
167 * If set false, the first read is blocking.
169 * return 0 on error, in that case blocking/nonblocking of socket is
191 * See if data is ready for reading on the tube without blocking.
199 * Wait for data to be ready for reading on the tube. is blocking.
/freebsd/lib/libsys/
H A Dpoll.297 Data other than high priority data may be read without blocking.
99 Normal data may be read without blocking.
101 Data with a non-zero priority may be read without blocking.
103 High priority data may be read without blocking.
106 Normal data may be written without blocking.
108 Data with a non-zero priority may be written without blocking.
157 will return without blocking.
H A Dsendfile.2111 instead of blocking when a busy page is encountered.
124 thus avoiding blocking on I/O.
162 When using a socket marked for non-blocking I/O,
238 blocking, and there are not enough
244 If the sending socket is non-blocking and there are not enough
254 Tune accordingly to avoid blocking!
300 The socket is marked for non-blocking I/O and not all data was sent due to
407 a non-blocking implementation had been introduced.
H A Dsocket.299 SOCK_NONBLOCK Set non-blocking mode on the new socket
285 .Sh NON-BLOCKING MODE
287 .Em non-blocking mode
291 Alternatively, the non-blocking mode on a socket can be turned on and off with
298 When a non-blocking socket has not enough data in its receive buffer to fulfill
316 If application tries to send more data on a non-blocking socket than the socket
334 in non-blocking mode neither will block in blocking mode.
352 It may also enable non-blocking I/O
/freebsd/share/doc/psd/05.sysman/
H A D2.1.t35 may occur in a non-blocking or asynchronous fashion are
54 any data was transferred because of an error or use of non-blocking
107 Non-blocking and asynchronous operations
109 A process that wishes to do non-blocking operations on one of
110 its descriptors sets the descriptor in non-blocking mode as
124 may be performed on a descriptor in a non-blocking fashion.

12345678910>>...41