|
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
|
\hypertarget{structthread__args}{\section{Referencia de la Estructura thread\-\_\-args}
\label{structthread__args}\index{thread\-\_\-args@{thread\-\_\-args}}
}
Argumentos de los threads.
{\ttfamily \#include $<$server.\-h$>$}
\subsection*{Atributos públicos}
\begin{DoxyCompactItemize}
\item
pthread\-\_\-mutex\-\_\-t $\ast$ \hyperlink{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{mutex}
\begin{DoxyCompactList}\small\item\em Variable de control de la exclusión mútua entre threads. \end{DoxyCompactList}\item
pthread\-\_\-cond\-\_\-t $\ast$ \hyperlink{structthread__args_a96ee28beaed4175257db3d8794245f25}{condition}
\begin{DoxyCompactList}\small\item\em Variable de notificación a otros threads. \end{DoxyCompactList}\item
pthread\-\_\-t $\ast$ \hyperlink{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{thread}
\begin{DoxyCompactList}\small\item\em Puntero al thread. \end{DoxyCompactList}\item
\hyperlink{class_socket}{Socket} $\ast$ \hyperlink{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{s}
\begin{DoxyCompactList}\small\item\em Puntero al socket. \end{DoxyCompactList}\item
\hyperlink{class_server}{Server} $\ast$ \hyperlink{structthread__args_ab29508135b033282f374d0fb47028fbd}{serv}
\begin{DoxyCompactList}\small\item\em Puntero al servidor. \end{DoxyCompactList}\item
int \hyperlink{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{id}
\begin{DoxyCompactList}\small\item\em I\-D del thread. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection{Descripción detallada}
Argumentos de los threads.
Este struct define los argumentos que recibe un thread abierto por la aplicación servidor al recibir una conexión entrante \begin{DoxyAuthor}{Autor}
Imanol Barba Sabariego
\end{DoxyAuthor}
\begin{DoxyDate}{Fecha}
11/06/2013
\end{DoxyDate}
\subsection{Documentación de los datos miembro}
\hypertarget{structthread__args_a96ee28beaed4175257db3d8794245f25}{\index{thread\-\_\-args@{thread\-\_\-args}!condition@{condition}}
\index{condition@{condition}!thread_args@{thread\-\_\-args}}
\subsubsection[{condition}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-cond\-\_\-t$\ast$ thread\-\_\-args\-::condition}}\label{structthread__args_a96ee28beaed4175257db3d8794245f25}
Variable de notificación a otros threads.
Esta variable se usa para notificar a otros threads cuando deben realizar otras acciones.
{\itshape Actualmente se usa para notificar al thread principal cuando el thread que lo invoca ha terminado, en caso de que el principal haya quedado bloqueado y no admita más conexiones.} \hypertarget{structthread__args_a6322b3468fd88f8f49977a6439e9f352}{\index{thread\-\_\-args@{thread\-\_\-args}!id@{id}}
\index{id@{id}!thread_args@{thread\-\_\-args}}
\subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}int thread\-\_\-args\-::id}}\label{structthread__args_a6322b3468fd88f8f49977a6439e9f352}
I\-D del thread.
Identifica al thread con un I\-D único \hypertarget{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}{\index{thread\-\_\-args@{thread\-\_\-args}!mutex@{mutex}}
\index{mutex@{mutex}!thread_args@{thread\-\_\-args}}
\subsubsection[{mutex}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-mutex\-\_\-t$\ast$ thread\-\_\-args\-::mutex}}\label{structthread__args_ad5d64499f5f6e2df467c96b52a94c520}
Variable de control de la exclusión mútua entre threads.
Esta variable se usa para bloquear otros threads en operaciones de exclusion mútua donde se modifican variables compartidas \hypertarget{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}{\index{thread\-\_\-args@{thread\-\_\-args}!s@{s}}
\index{s@{s}!thread_args@{thread\-\_\-args}}
\subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Socket}$\ast$ thread\-\_\-args\-::s}}\label{structthread__args_aede3ef61778d02bdf25c368d1cf9d489}
Puntero al socket.
Esta variable representa el puntero al socket que proviene de la conexión entrante recibida por el servidor. Con este, el thread puede recibir y enviar los datos. \hypertarget{structthread__args_ab29508135b033282f374d0fb47028fbd}{\index{thread\-\_\-args@{thread\-\_\-args}!serv@{serv}}
\index{serv@{serv}!thread_args@{thread\-\_\-args}}
\subsubsection[{serv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Server}$\ast$ thread\-\_\-args\-::serv}}\label{structthread__args_ab29508135b033282f374d0fb47028fbd}
Puntero al servidor.
Esta variable representa el puntero al servidor de la aplicación. Con este puntero, los threads se mueven a la pila de threads terminados una vez terminan la ejecución para que el thread principal (el propio servidor), vaya liberando la memoria asignada. \hypertarget{structthread__args_acdcd2db4307e5e75d5110067e196a70e}{\index{thread\-\_\-args@{thread\-\_\-args}!thread@{thread}}
\index{thread@{thread}!thread_args@{thread\-\_\-args}}
\subsubsection[{thread}]{\setlength{\rightskip}{0pt plus 5cm}pthread\-\_\-t$\ast$ thread\-\_\-args\-::thread}}\label{structthread__args_acdcd2db4307e5e75d5110067e196a70e}
Puntero al thread.
Esta variable representa el puntero del propio thread. Al finalizar, este enviará su puntero a la lista de threads terminados, donde la memoria asignada al thread se destruirá.
La documentación para esta estructura fue generada a partir del siguiente fichero\-:\begin{DoxyCompactItemize}
\item
|