요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
.. c:namespace:: MC.request
.. _request-func-close:
***************
request close()
***************
Name
====
request-close - Close a request file descriptor
Synopsis
========
.. code-block:: c
#include <unistd.h>
.. c:function:: int close( int fd )
Arguments
=========
``fd``
File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`.
Description
===========
Closes the request file descriptor. Resources associated with the request
are freed once all file descriptors associated with the request are closed
and the driver has completed the request.
See :ref:`here <media-request-life-time>` for more information.
Return Value
============
:c:func:`close()` returns 0 on success. On error, -1 is
returned, and ``errno`` is set appropriately. Possible error codes are:
EBADF
``fd`` is not a valid open file descriptor.
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
이름, 선언과 인자
1-29`close()`는 `MEDIA_IOC_REQUEST_ALLOC`이 반환한 request file descriptor를 닫습니다.
#include <unistd.h>
int close(int fd);
닫을 request fd를 전달합니다.
.. SPDX-License-Identifier: GPL-2.0 OR GFDL-1.1-no-invariants-or-later
.. c:namespace:: MC.request
.. _request-func-close:
***************
request close()
***************
Name
====
request-close - Close a request file descriptor
Synopsis
========
.. code-block:: c
#include <unistd.h>
.. c:function:: int close( int fd )
Arguments
=========
``fd``
File descriptor returned by :ref:`MEDIA_IOC_REQUEST_ALLOC`.
Request resource 해제 시점
30-37호출은 해당 request fd를 닫습니다. Request와 연관된 모든 file descriptor가 닫히고 driver가 request 처리를 완료한 뒤에야 관련 resource가 해제됩니다.
따라서 queue된 request fd를 닫는 것은 실행 취소가 아닙니다. 그 fd만 사용할 수 없게 되며 driver가 완료할 때까지 request object는 살아 있습니다.
Description
===========
Closes the request file descriptor. Resources associated with the request
are freed once all file descriptors associated with the request are closed
and the driver has completed the request.
See :ref:`here <media-request-life-time>` for more information.
반환값과 EBADF
38-45성공하면 0을 반환합니다. 오류이면 -1을 반환하고 `errno`를 설정합니다.
유효하지 않은 descriptor를 구분합니다.
Return Value
============
:c:func:`close()` returns 0 on success. On error, -1 is
returned, and ``errno`` is set appropriately. Possible error codes are:
EBADF
``fd`` is not a valid open file descriptor.
요약·해설
request-func-close.rst:1-45Queue된 request fd를 닫아도 request 실행은 취소되지 않습니다. Descriptor는 즉시 쓸 수 없게 되지만 object는 driver 완료와 모든 fd close 뒤 해제됩니다.