drop redundant conn->writing member
this information is already encoded in the socket notifier's config.
This commit is contained in:
		
							parent
							
								
									6010fe104e
								
							
						
					
					
						commit
						c391b06b07
					
				
					 4 changed files with 12 additions and 4 deletions
				
			
		| 
						 | 
					@ -235,6 +235,7 @@ typedef struct notifier {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void init_notifier( notifier_t *sn, int fd, void (*cb)( int, void * ), void *aux );
 | 
					void init_notifier( notifier_t *sn, int fd, void (*cb)( int, void * ), void *aux );
 | 
				
			||||||
void conf_notifier( notifier_t *sn, short and_events, short or_events );
 | 
					void conf_notifier( notifier_t *sn, short and_events, short or_events );
 | 
				
			||||||
 | 
					short notifier_config( notifier_t *sn );
 | 
				
			||||||
void wipe_notifier( notifier_t *sn );
 | 
					void wipe_notifier( notifier_t *sn );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
typedef struct {
 | 
					typedef struct {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -884,7 +884,6 @@ do_queued_write( conn_t *conn )
 | 
				
			||||||
			return -1;
 | 
								return -1;
 | 
				
			||||||
		if (n != (int)len) {
 | 
							if (n != (int)len) {
 | 
				
			||||||
			conn->write_offset += (uint)n;
 | 
								conn->write_offset += (uint)n;
 | 
				
			||||||
			conn->writing = 1;
 | 
					 | 
				
			||||||
			return 0;
 | 
								return 0;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		conn->write_offset = 0;
 | 
							conn->write_offset = 0;
 | 
				
			||||||
| 
						 | 
					@ -894,7 +893,6 @@ do_queued_write( conn_t *conn )
 | 
				
			||||||
	if (conn->ssl && SSL_pending( conn->ssl ))
 | 
						if (conn->ssl && SSL_pending( conn->ssl ))
 | 
				
			||||||
		conf_wakeup( &conn->ssl_fake, 0 );
 | 
							conf_wakeup( &conn->ssl_fake, 0 );
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
	conn->writing = 0;
 | 
					 | 
				
			||||||
	conn->write_callback( conn->callback_aux );
 | 
						conn->write_callback( conn->callback_aux );
 | 
				
			||||||
	return -1;
 | 
						return -1;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1103,7 +1101,7 @@ socket_fake_cb( void *aux )
 | 
				
			||||||
	/* Ensure that a pending write gets queued. */
 | 
						/* Ensure that a pending write gets queued. */
 | 
				
			||||||
	do_flush( conn );
 | 
						do_flush( conn );
 | 
				
			||||||
	/* If no writes are ongoing, start writing now. */
 | 
						/* If no writes are ongoing, start writing now. */
 | 
				
			||||||
	if (!conn->writing)
 | 
						if (!(notifier_config( &conn->notify ) & POLLOUT))
 | 
				
			||||||
		do_queued_write( conn );
 | 
							do_queued_write( conn );
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,6 @@ typedef struct {
 | 
				
			||||||
	/* writing */
 | 
						/* writing */
 | 
				
			||||||
	buff_chunk_t *append_buf; /* accumulating buffer */
 | 
						buff_chunk_t *append_buf; /* accumulating buffer */
 | 
				
			||||||
	buff_chunk_t *write_buf, **write_buf_append; /* buffer head & tail */
 | 
						buff_chunk_t *write_buf, **write_buf_append; /* buffer head & tail */
 | 
				
			||||||
	int writing;
 | 
					 | 
				
			||||||
#ifdef HAVE_LIBZ
 | 
					#ifdef HAVE_LIBZ
 | 
				
			||||||
	uint append_avail; /* space left in accumulating buffer */
 | 
						uint append_avail; /* space left in accumulating buffer */
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										10
									
								
								src/util.c
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								src/util.c
									
										
									
									
									
								
							| 
						 | 
					@ -704,6 +704,16 @@ conf_notifier( notifier_t *sn, short and_events, short or_events )
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					short
 | 
				
			||||||
 | 
					notifier_config( notifier_t *sn )
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					#ifdef HAVE_SYS_POLL_H
 | 
				
			||||||
 | 
						return pollfds[sn->index].events;
 | 
				
			||||||
 | 
					#else
 | 
				
			||||||
 | 
						return sn->events;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
wipe_notifier( notifier_t *sn )
 | 
					wipe_notifier( notifier_t *sn )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue