@@ -176,12 +176,22 @@ msgid ""
176
176
"and size of the argument of the operation as specified in the relevant C "
177
177
"documentation."
178
178
msgstr ""
179
+ "Executa a operação *cmd* no descritor de arquivo *fd* (objetos arquivo que "
180
+ "fornecem um método :meth:`~io.IOBase.fileno` também são aceitos). Os valores "
181
+ "usados para *cmd* dependem do sistema operacional e estão disponíveis como "
182
+ "constantes no módulo :mod:`fcntl`, usando os mesmos nomes usados nos "
183
+ "arquivos de cabeçalho C relevantes. O argumento *arg* pode ser um valor "
184
+ "inteiro, um objeto :class:`bytes` ou uma string. O tipo e o tamanho de *arg* "
185
+ "devem corresponder ao tipo e ao tamanho do argumento da operação, conforme "
186
+ "especificado na documentação C relevante."
179
187
180
188
#: ../../library/fcntl.rst:96
181
189
msgid ""
182
190
"When *arg* is an integer, the function returns the integer return value of "
183
191
"the C :c:func:`fcntl` call."
184
192
msgstr ""
193
+ "Quando *arg* é um inteiro, a função retorna o valor de retorno inteiro da "
194
+ "chamada C :c:func:`fcntl`."
185
195
186
196
#: ../../library/fcntl.rst:99
187
197
msgid ""
@@ -193,6 +203,13 @@ msgid ""
193
203
"The length of the returned object will be the same as the length of the "
194
204
"*arg* argument. This is limited to 1024 bytes."
195
205
msgstr ""
206
+ "Quando o argumento é bytes, ele representa uma estrutura binária, por "
207
+ "exemplo, criada por :func:`struct.pack`. Um valor de string é codificado em "
208
+ "binário usando a codificação UTF-8. Os dados binários são copiados para um "
209
+ "buffer cujo endereço é passado para a chamada :c:func:`fcntl` em C. O valor "
210
+ "de retorno após uma chamada bem-sucedida é o conteúdo do buffer, convertido "
211
+ "em um objeto :class:`bytes`. O comprimento do objeto retornado será igual ao "
212
+ "comprimento do argumento *arg*. Este é limitado a 1024 bytes."
196
213
197
214
#: ../../library/fcntl.rst:108
198
215
msgid "If the :c:func:`fcntl` call fails, an :exc:`OSError` is raised."
@@ -207,6 +224,12 @@ msgid ""
207
224
"operating system is larger than 1024 bytes), this is most likely to result "
208
225
"in a segmentation violation or a more subtle data corruption."
209
226
msgstr ""
227
+ "Se o tipo ou o tamanho de *arg* não corresponder ao tipo ou tamanho do "
228
+ "argumento da operação (por exemplo, se um inteiro for passado quando um "
229
+ "ponteiro for esperado, ou se as informações retornadas no buffer pelo "
230
+ "sistema operacional forem maiores que 1024 bytes), é mais provável que isso "
231
+ "resulte em uma violação de segmentação ou em uma corrupção de dados mais "
232
+ "sutil."
210
233
211
234
#: ../../library/fcntl.rst:118
212
235
msgid ""
@@ -221,6 +244,8 @@ msgid ""
221
244
"This function is identical to the :func:`~fcntl.fcntl` function, except that "
222
245
"the argument handling is even more complicated."
223
246
msgstr ""
247
+ "Esta função é idêntica à função :func:`~fcntl.fcntl`, exceto que o "
248
+ "tratamento de argumentos é ainda mais complicado."
224
249
225
250
#: ../../library/fcntl.rst:126
226
251
msgid ""
@@ -229,19 +254,30 @@ msgid ""
229
254
"the *request* argument can be found in the :mod:`termios` module, under the "
230
255
"same names as used in the relevant C header files."
231
256
msgstr ""
257
+ "O parâmetro *request* é limitado a valores que cabem em 32 ou 64 bits, "
258
+ "dependendo da plataforma. Constantes adicionais de interesse para uso como "
259
+ "argumento *request* podem ser encontradas no módulo :mod:`termios`, com os "
260
+ "mesmos nomes usados nos arquivos de cabeçalho C relevantes."
232
261
233
262
#: ../../library/fcntl.rst:132
234
263
msgid ""
235
264
"The parameter *arg* can be an integer, a :term:`bytes-like object`, or a "
236
265
"string. The type and size of *arg* must match the type and size of the "
237
266
"argument of the operation as specified in the relevant C documentation."
238
267
msgstr ""
268
+ "O parâmetro *arg* pode ser um inteiro, um :term:`objeto byte ou similar` ou "
269
+ "uma string. O tipo e o tamanho de *arg* devem corresponder ao tipo e ao "
270
+ "tamanho do argumento da operação, conforme especificado na documentação C "
271
+ "relevante."
239
272
240
273
#: ../../library/fcntl.rst:137
241
274
msgid ""
242
275
"If *arg* does not support the read-write buffer interface or the "
243
276
"*mutate_flag* is false, behavior is as for the :func:`~fcntl.fcntl` function."
244
277
msgstr ""
278
+ "Se *arg* não oferecer suporte à interface de buffer de leitura e escrita ou "
279
+ "o *mutate_flag* for falso, o comportamento será o mesmo da função :func:"
280
+ "`~fcntl.fcntl`."
245
281
246
282
#: ../../library/fcntl.rst:141
247
283
msgid ""
@@ -254,11 +290,22 @@ msgid ""
254
290
"copied into a static buffer 1024 bytes long which is then passed to :func:"
255
291
"`ioctl` and copied back into the supplied buffer."
256
292
msgstr ""
293
+ "Se *arg* oferece suporte à interface de buffer de leitura e escrita (como :"
294
+ "class:`bytearray`) e *mutate_flag* for true (o padrão), o buffer será (na "
295
+ "prática) passado para a chamada de sistema subjacente :c:func:`!ioctl`, o "
296
+ "código de retorno desta última será passado de volta para o Python que fez a "
297
+ "chamada, e o novo conteúdo do buffer refletirá a ação de :c:func:`ioctl`. "
298
+ "Esta é uma pequena simplificação, pois se o buffer fornecido tiver menos de "
299
+ "1024 bytes, ele será primeiro copiado para um buffer estático de 1024 bytes, "
300
+ "que será então passado para :func:`ioctl` e copiado de volta para o buffer "
301
+ "fornecido."
257
302
258
303
#: ../../library/fcntl.rst:150
259
304
msgid ""
260
305
"If the :c:func:`ioctl` call fails, an :exc:`OSError` exception is raised."
261
306
msgstr ""
307
+ "Se a chamada a :c:func:`ioctl` falhar, uma exceção :exc:`OSError` é "
308
+ "levantada."
262
309
263
310
#: ../../library/fcntl.rst:153
264
311
msgid ""
@@ -269,6 +316,12 @@ msgid ""
269
316
"too small), this is most likely to result in a segmentation violation or a "
270
317
"more subtle data corruption."
271
318
msgstr ""
319
+ "Se o tipo ou o tamanho de *arg* não corresponder ao tipo ou tamanho do "
320
+ "argumento da operação (por exemplo, se um inteiro for passado quando um "
321
+ "ponteiro for esperado, ou se as informações retornadas no buffer pelo "
322
+ "sistema operacional forem maiores que 1024 bytes ou o tamanho do objeto byte "
323
+ "ou similar mutável é pequeno demais), é mais provável que isso resulte em "
324
+ "uma violação de segmentação ou em uma corrupção de dados mais sutil."
272
325
273
326
#: ../../library/fcntl.rst:161
274
327
msgid "An example::"
@@ -287,6 +340,16 @@ msgid ""
287
340
">>> buf\n"
288
341
"array('h', [13341])"
289
342
msgstr ""
343
+ ">>> import array, fcntl, struct, termios, os\n"
344
+ ">>> os.getpgrp()\n"
345
+ "13341\n"
346
+ ">>> struct.unpack('h', fcntl.ioctl(0, termios.TIOCGPGRP,\" \" ))[0]\n"
347
+ "13341\n"
348
+ ">>> buf = array.array('h', [0])\n"
349
+ ">>> fcntl.ioctl(0, termios.TIOCGPGRP, buf, 1)\n"
350
+ "0\n"
351
+ ">>> buf\n"
352
+ "array('h', [13341])"
290
353
291
354
#: ../../library/fcntl.rst:174
292
355
msgid ""
@@ -303,11 +366,17 @@ msgid ""
303
366
"Unix manual :manpage:`flock(2)` for details. (On some systems, this "
304
367
"function is emulated using :c:func:`fcntl`.)"
305
368
msgstr ""
369
+ "Executa a operação de trava *operation* no descritor de arquivo *fd* "
370
+ "(objetos arquivo que fornecem um método :meth:`~io.IOBase.fileno` também são "
371
+ "aceitos). Consulte o manual do Unix :manpage:`flock(2)` para obter detalhes. "
372
+ "(Em alguns sistemas, esta função é emulada usando :c:func:`fcntl`.)"
306
373
307
374
#: ../../library/fcntl.rst:184
308
375
msgid ""
309
376
"If the :c:func:`flock` call fails, an :exc:`OSError` exception is raised."
310
377
msgstr ""
378
+ "Se a chamada :c:func:`flock` falhar, uma exceção :exc:`OSError` será "
379
+ "levantada."
311
380
312
381
#: ../../library/fcntl.rst:186
313
382
msgid ""
@@ -324,18 +393,22 @@ msgid ""
324
393
"fileno` method are accepted as well) of the file to lock or unlock, and "
325
394
"*cmd* is one of the following values:"
326
395
msgstr ""
396
+ "Este é essencialmente um invólucro em torno das chamadas de trava :func:"
397
+ "`~fcntl.fcntl`. *fd* é o descritor de arquivo (objetos arquivo que fornecem "
398
+ "um método :meth:`~io.IOBase.fileno` também são aceitos) do arquivo a ser "
399
+ "travado ou destravado, e *cmd* é um dos seguintes valores:"
327
400
328
401
#: ../../library/fcntl.rst:198
329
402
msgid "Release an existing lock."
330
- msgstr ""
403
+ msgstr "Libera uma trava existente. "
331
404
332
405
#: ../../library/fcntl.rst:202
333
406
msgid "Acquire a shared lock."
334
- msgstr ""
407
+ msgstr "Adquire uma trava compartilhada. "
335
408
336
409
#: ../../library/fcntl.rst:206
337
410
msgid "Acquire an exclusive lock."
338
- msgstr ""
411
+ msgstr "Adquire uma trava exclusiva. "
339
412
340
413
#: ../../library/fcntl.rst:210
341
414
msgid ""
@@ -352,6 +425,12 @@ msgid ""
352
425
"systems, :const:`!LOCK_EX` can only be used if the file descriptor refers to "
353
426
"a file opened for writing."
354
427
msgstr ""
428
+ "Se :const:`!LOCK_NB` for usado e a trava não puder ser obtido, uma exceção :"
429
+ "exc:`OSError` será levantada e terá um atributo *errno* definido como :const:"
430
+ "`~errno.EACCES` ou :const:`~errno.EAGAIN` (dependendo do sistema "
431
+ "operacional; para portabilidade, verifique ambos os valores). Em pelo menos "
432
+ "alguns sistemas, :const:`!LOCK_EX` só pode ser usado se o descritor de "
433
+ "arquivo se referir a um arquivo aberto para escrita."
355
434
356
435
#: ../../library/fcntl.rst:220
357
436
msgid ""