Skip to content

Commit b234fb1

Browse files
Merge pull request #16 from LIHPC-Computational-Geometry/appstats-dev-fix1
Version 6.12.1. Fixed ApplicationStats::logUsage return code that cau…
2 parents d55ebc5 + f4cba71 commit b234fb1

File tree

3 files changed

+24
-15
lines changed

3 files changed

+24
-15
lines changed

cmake/version.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
set (TK_UTIL_MAJOR_VERSION "6")
66
set (TK_UTIL_MINOR_VERSION "12")
7-
set (TK_UTIL_RELEASE_VERSION "0")
7+
set (TK_UTIL_RELEASE_VERSION "1")
88
set (TK_UTIL_VERSION ${TK_UTIL_MAJOR_VERSION}.${TK_UTIL_MINOR_VERSION}.${TK_UTIL_RELEASE_VERSION})
99

1010
set (TK_UTIL_SCRIPTING_MAJOR_VERSION ${TK_UTIL_MAJOR_VERSION})

src/TkUtil/ApplicationStats.cpp

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,14 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
7979
if ((pid_t)-1 == sid)
8080
{
8181
ConsoleOutput::cerr ( ) << "ApplicationStats::logUsage : échec de setsid : " << strerror (errno) << co_endl;
82-
return;
82+
exit (0);
8383
} // if ((pid_t)-1 == sid)
8484

8585
TermAutoStyle as (cerr, AnsiEscapeCodes::blueFg);
8686
if ((true == appName.empty ( )) || (true == logDir.empty ( )))
8787
{
8888
ConsoleOutput::cerr ( ) << "ApplicationStats::logUsage : nom d'application ou répertoire des logs non renseigné (" << appName << "/" << logDir << ")." << co_endl;
89-
return;
89+
exit (0);
9090
} // if ((true == appName.empty ( )) || (true == logDir.empty ( )))
9191

9292
// Le nom du fichier :
@@ -106,35 +106,35 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
106106
if ((false == dir.exists ( )) || (false == dir.isDirectory ( )) || (false == dir.isExecutable ( )) || (false == dir.isWritable ( )))
107107
{
108108
ConsoleOutput::cerr ( ) << "Erreur, " << logDir << " n'est pas un répertoire existant avec les droits en écriture pour vous." << co_endl;
109-
return;
109+
exit (0);
110110
} // if ((false == dir.exists ( )) || (false == dir.isDirectory ( )) || ...
111111
File logFile (fileName.utf8 ( ));
112112
if (false == logFile.isWritable ( ))
113113
{
114114
ConsoleOutput::cerr ( ) << "Erreur lors de l'ouverture du fichier de logs " << fileName << " : absence de droits en écriture." << co_endl;
115-
return;
115+
exit (0);
116116
} // if (false == logFile.isWritable ( ))
117117
}
118118
catch (const Exception& exc)
119119
{
120120
ConsoleOutput::cerr ( ) << "Erreur lors de l'ouverture du fichier de logs " << fileName << " : " << exc.getFullMessage ( ) << co_endl;
121-
return;
121+
exit (0);
122122
}
123123
catch (...)
124124
{
125125
}
126126

127127
ConsoleOutput::cerr ( ) << "Erreur lors de l'ouverture du fichier de logs " << fileName << " : erreur non documentée." << co_endl;
128128

129-
return;
129+
exit (0);
130130
} // if (NULL == file)
131131

132132
// Obtenir le descripteur de fichier :
133133
int fd = fileno (file);
134134
if (-1 == fd)
135135
{
136136
ConsoleOutput::cerr ( ) << "Erreur lors de l'ouverture du fichier de logs " << fileName << co_endl;
137-
return;
137+
exit (0);
138138
} // if (-1 == fd)
139139

140140
// Appliquer un verrou exclusif sur le fichier de logs :
@@ -143,7 +143,7 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
143143
{
144144
ConsoleOutput::cerr ( ) << "Erreur lors du verrouillage du fichier de logs " << fileName << " : " << strerror (errno) << co_endl;
145145
fclose (file);
146-
return;
146+
exit (0);
147147
} // if (0 != flock (fd, LOCK_EX))
148148

149149
// Conférer aufichier les droits en écriture pour tous le monde si il vient d'être créé :
@@ -153,7 +153,7 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
153153
{
154154
ConsoleOutput::cerr ( ) << "Erreur lors du confèrement à autrui des droits en écriture sur le fichier de logs " << fileName << " : " << strerror (errno) << co_endl;
155155
fclose (file);
156-
return;
156+
exit (0);
157157

158158
} // if (0 != fchmod (fd, S_IRWXU | S_IRWXG | S_IRWXO))
159159
} // if (true == created)
@@ -180,13 +180,13 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
180180
{
181181
ConsoleOutput::cerr ( ) << "Erreur lors de la lecture du fichier de logs " << fileName << " en ligne " << (unsigned long)line << " : " << strerror (errno) << co_endl;
182182
fclose (file);
183-
return;
183+
exit (0);
184184
} // if (0 != errno)
185185
else if ((flag < 2) && (EOF != flag))
186186
{
187187
ConsoleOutput::cerr ( ) << "Erreur lors de la lecture du fichier de logs " << fileName << " en ligne " << (unsigned long)line << " : fichier probablement corrompu." << co_endl;
188188
fclose (file);
189-
return;
189+
exit (0);
190190
} // if (flag < 2)
191191
if (false == found)
192192
logs.insert (pair<string, size_t> (user, 1));
@@ -197,7 +197,7 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
197197
{
198198
ConsoleOutput::cerr ( ) << "Erreur lors de la réécriture du fichier de logs " << fileName << " : " << strerror (errno) << co_endl;
199199
fclose (file);
200-
return;
200+
exit (0);
201201
} // if (0 != fseek (file, 0, SEEK_SET))
202202

203203
for (map<string, size_t>::const_iterator itl = logs.begin ( ); logs.end ( ) != itl; itl++)
@@ -206,15 +206,15 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
206206
{
207207
ConsoleOutput::cerr ( ) << "Erreur lors de la réécriture du fichier de logs " << fileName << "."<< co_endl;
208208
fclose (file);
209-
return;
209+
exit (0);
210210
}
211211
} // for (map<string, size_t>::const_iterator itl = logs.begin ( ); logs.end ( ) != itl; itl++)
212212
errno = 0;
213213
if (0 != fflush (file))
214214
{
215215
ConsoleOutput::cerr ( ) << "Erreur lors de la réécriture du fichier de logs " << fileName << " : " << strerror (errno) << co_endl;
216216
fclose (file);
217-
return;
217+
exit (0);
218218
} // if (0 != fflush (file))
219219

220220
// Libération du verrou :
@@ -228,6 +228,8 @@ void ApplicationStats::logUsage (const string& appName, const string& logDir)
228228
fclose (file);
229229
file = NULL;
230230
fd = -1;
231+
232+
exit (0);
231233
} // ApplicationStats::logUsage
232234

233235

versions.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
Version 6.12.1 : 12/03/25
2+
=================
3+
4+
Correctif ApplicationStats::logUsage : on sort systématiquement par exit (0). Des effets de bord indésirables ont été observés lors des poignées de main
5+
entre client et serveur omniORB.
6+
7+
18
Version 6.12.0 : 11/02/25
29
=================
310

0 commit comments

Comments
 (0)