\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 
/home/imanol/devel/eclipse/\-P\-A\-D/\-J\-Chat\-Client/src/include/\hyperlink{server_8h}{server.\-h}\end{DoxyCompactItemize}
