blob: dc816996cf04b39d6259c5c2aa347bbaf5248800 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
<!--
$FML: lock.sgml,v 1.6 2008/08/18 20:52:59 fukachan Exp $
-->
<chapter id="lock">
<title>
���å�
</title>
<para>
�ץ������֤�Ʊ�����ϥ��å����Ѥ��ƹԤʤ��ޤ���
&fml8; �ǥ��ݡ��Ȥ���Ƥ�����å��ᥫ�˥����
flock(2) �⤷���� lockf(2) �ˤ������å������ΤߤǤ���
</para>
<sect1 id="lock.overview">
<title>
���å��γ���
</title>
<para>
�ʤ��餯 giant lock �Ǥ�������2003/03 �� giant lock ��ʤ����ޤ�����
</para>
<para>
���ߤǤϡ����������ʤ�������Ȥˡ����å������ͥ뤬�Ѱդ���Ƥ��ޤ���
</para>
<para>
���Ȥ��С�Mail::Delivery ��Ϣ�ϥ��С��ꥹ�Ȥ˥�����������Τǡ�
���������ȥ��å���ɬ�פǤ���
</para>
<para>
Mail::Delivery::SMTP �����κݤˤϥ��С��ꥹ�ȤΥ��å���ɬ�פǤ���
���ߤϡ�Mail::Delivery::SMTP ��ƤӽФ� FML �Υ��饹(�¤� FML::Send ��
FML::Process::Delivery �Σ��սꤷ���ʤ�)����ǥ��å������Ƥ��ޤ���
</para>
<para>
������Mail::Delivery::Queue �ϸ������ (mailq ���ޥ��)����
��������ǽ�ʤ�Τ����ʤΤǡ����å��Ϲͤ��ʤ����ɤ��Ϥ��Ǥ���
</para>
<para>
�����ơ�reader writer lock �ޤ��礲���Ǥʤ��Ȥ�
���̤� map ��Ȥ��⥸�塼��ˤϥ��å���ɬ�פǤ���
write �Ѥ� lock ��ɬ�פȤϸ¤�ޤ���
���Ȥ���
FML/Command/UserControl.pm
��
FML/Command/Auth.pm
�ˤ� write �Ѥ� lock ��ɬ�פǤ�����
FML/Credential.pm
�� read �Ѥ� lock �����Ǥ褤�Ǥ���
</para>
<para>
�������ʤ��顢���ޤΤȤ��� reader writer lock �ϼ�������Ƥ��ޤ���Τǡ�
��������Ȥκ٤������å������ critical region
�λ��֤�û������褦�ˤʤäƤ��ޤ���
</para>
</sect1>
<sect1 id="lock.todo">
<title>
TODO
</title>
<para>
*_maps �������ˤ� MUTEX �ǥ��å��롣���䡢��ꤹ�����⤷��ޤ���
</para>
<para>
���С��ꥹ�Ȥ� IO::Adapter �ޤ����ˡ�
READER WRITER LOCK ���ۤ�����
<footnote>
<para>
READ ���å������פ������䡢�������
chaddr ������� sleep �������Ԥ��䤫��;)
</para>
</footnote>
perl thread ��Ĥ����ФǤ��뤱�ɡ�
����Ū�ʼ����Ϥ��ʤ��Ĥ������ݤ�;)
</para>
</sect1>
</chapter>
|