annotate src/os/win32/ngx_process.h @ 9274:46ecad404a29 default tip

Mail: reset imap tag to empty after authentication attempt. We need to reset the imap tag to empty after an authentication attempt completes, otherwise if the next line parsed is incomplete with no tag (e.g. empty line) then we use the "tag" from the previous buffer which is now definitely wrong and has been partially overwritten with the most recently read data (e.g. CRLF). An example before this patch: S: * OK IMAP4 ready C: foobar login a b S: foobar NO Incorrect username or password. C: S: S: obar BAD invalid command Then with this patch: S: * OK IMAP4 ready C: foobar login a b S: foobar NO Incorrect username or password. C: S: * BAD invalid command
author Rob Mueller <robm@fastmailteam.com>
date Wed, 15 May 2024 10:06:00 +0300
parents 8b84d60ef13d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 374
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 374
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 3852
diff changeset
4 * Copyright (C) Nginx, Inc.
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 374
diff changeset
5 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 374
diff changeset
6
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 374
diff changeset
7
36
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_PROCESS_H_INCLUDED_
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_PROCESS_H_INCLUDED_
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
12 typedef DWORD ngx_pid_t;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
13 #define NGX_INVALID_PID 0
543
511a89da35ad nginx-0.2.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 461
diff changeset
14
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
15
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
16 #define ngx_getpid GetCurrentProcessId
7162
8b84d60ef13d Fixed "changing binary" when reaper is not init.
Ruslan Ermilov <ru@nginx.com>
parents: 6402
diff changeset
17 #define ngx_getppid() 0
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
18 #define ngx_log_pid ngx_pid
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
19
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
20
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
21 #define NGX_PROCESS_SYNC_NAME \
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
22 (sizeof("ngx_cache_manager_mutex_") + NGX_INT32_LEN)
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
23
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
24
6402
7296b38f6416 Core: added support for more than 64 CPUs in worker_cpu_affinity.
Vladimir Homutov <vl@nginx.com>
parents: 4412
diff changeset
25 typedef uint64_t ngx_cpuset_t;
7296b38f6416 Core: added support for more than 64 CPUs in worker_cpu_affinity.
Vladimir Homutov <vl@nginx.com>
parents: 4412
diff changeset
26
7296b38f6416 Core: added support for more than 64 CPUs in worker_cpu_affinity.
Vladimir Homutov <vl@nginx.com>
parents: 4412
diff changeset
27
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
28 typedef struct {
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
29 HANDLE handle;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
30 ngx_pid_t pid;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
31 char *name;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
32
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
33 HANDLE term;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
34 HANDLE quit;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
35 HANDLE reopen;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
36
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
37 u_char term_event[NGX_PROCESS_SYNC_NAME];
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
38 u_char quit_event[NGX_PROCESS_SYNC_NAME];
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
39 u_char reopen_event[NGX_PROCESS_SYNC_NAME];
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
40
3016
d82993af1da0 introduce NGX_PROCESS_JUST_SPAWN and change field name accordingly
Igor Sysoev <igor@sysoev.ru>
parents: 2745
diff changeset
41 unsigned just_spawn:1;
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
42 unsigned exiting:1;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
43 } ngx_process_t;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
44
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
45
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
46 typedef struct {
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
47 char *path;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
48 char *name;
2745
1983932b8075 pass command lines options to workers
Igor Sysoev <igor@sysoev.ru>
parents: 2725
diff changeset
49 char *args;
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
50 char *const *argv;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
51 char *const *envp;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
52 HANDLE child;
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
53 } ngx_exec_ctx_t;
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
54
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
55
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
56 ngx_pid_t ngx_spawn_process(ngx_cycle_t *cycle, char *name, ngx_int_t respawn);
279
b79f021a644a nginx-0.0.2-2004-03-04-19:34:23 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
57 ngx_pid_t ngx_execute(ngx_cycle_t *cycle, ngx_exec_ctx_t *ctx);
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
58
461
a88a3e4e158f nginx-0.1.5-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 452
diff changeset
59 #define ngx_debug_point()
3852
3f04918aefe5 use SwitchToThread() instead of Sleep(0), because the later
Igor Sysoev <igor@sysoev.ru>
parents: 3358
diff changeset
60 #define ngx_sched_yield() SwitchToThread()
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
61
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
62
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
63 #define NGX_MAX_PROCESSES (MAXIMUM_WAIT_OBJECTS - 4)
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
64
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
65 #define NGX_PROCESS_RESPAWN -2
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
66 #define NGX_PROCESS_JUST_RESPAWN -3
373
018569a8f09c nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
67
018569a8f09c nginx-0.0.7-2004-06-30-19:30:41 import
Igor Sysoev <igor@sysoev.ru>
parents: 279
diff changeset
68
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
69 extern int ngx_argc;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
70 extern char **ngx_argv;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
71 extern char **ngx_os_argv;
278
0ba4821f4460 nginx-0.0.2-2004-03-04-10:04:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 36
diff changeset
72
2725
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
73 extern ngx_int_t ngx_last_process;
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
74 extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES];
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
75
d43d73277c5c Win32 master/workers model
Igor Sysoev <igor@sysoev.ru>
parents: 543
diff changeset
76 extern ngx_pid_t ngx_pid;
7162
8b84d60ef13d Fixed "changing binary" when reaper is not init.
Ruslan Ermilov <ru@nginx.com>
parents: 6402
diff changeset
77 extern ngx_pid_t ngx_parent;
36
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
78
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
79
c14d7232b11f nginx-0.0.1-2002-12-23-09:29:22 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
80 #endif /* _NGX_PROCESS_H_INCLUDED_ */