aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/various/mail.c96
-rw-r--r--os/various/mail.h59
-rw-r--r--readme.txt2
3 files changed, 0 insertions, 157 deletions
diff --git a/os/various/mail.c b/os/various/mail.c
deleted file mode 100644
index 5702b0be8..000000000
--- a/os/various/mail.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file mail.c
- * @brief Threads mail code.
- *
- * @addtogroup mail
- * @{
- */
-
-#include "ch.h"
-#include "mail.h"
-
-/**
- * @brief Initializes a Mail Pool.
- * @note The number of the mail objects in the mail pool should be at
- * least <b>2+size(mailbox)</b>, this considering one writer and
- * one reader, add one element for each extra reader or writer in
- * order to avoid waiting on the mail pool. A smaller number of
- * elements can be specified if waiting on the pool is acceptable.
- *
- * @param[out] mlp pointer to a @p MailPool structure
- * @param[in] size the size of the mail objects to be placed in the pool
- * @param[in] p pointer to the mail objects array first element
- * @param[in] n number of elements in the mail objects array
- *
- * @init
- */
-void mailInit(MailPool *mlp, size_t size, void *p, size_t n) {
-
- chPoolInit(&mlp->pool, size, NULL);
- chPoolLoadArray(&mlp->pool, p, n);
- chSemInit(&mlp->sem, (cnt_t)n);
-}
-
-/**
- * @brief Allocates a mail object from a mail pool.
- * @pre The mail pool must be already been initialized.
- *
- * @param[in] mlp pointer to a @p MailPool structure
- * @param[in] time the number of ticks before the operation timeouts,
- * the following special values are allowed:
- * - @a TIME_IMMEDIATE immediate timeout.
- * - @a TIME_INFINITE no timeout.
- * .
- * @return The mail object.
- * @retval NULL timeout expired.
- *
- * @api
- */
-void *mailCreate(MailPool *mlp, systime_t time) {
- msg_t msg;
- void *mailp;
-
- msg = chSemWaitTimeout(&mlp->sem, time);
- if (msg != RDY_OK)
- return NULL;
- mailp = chPoolAlloc(&mlp->pool);
- chDbgAssert(mailp != NULL, "mailCreate(), #1", "empty pool");
- return mailp;
-}
-
-/**
- * @brief Releases a mail object into a mail pool.
- * @pre The mail pool must be already been initialized.
- *
- * @param[in] mlp pointer to a @p MailPool structure
- * @param[in] mailp the pointer to the mail object to be released
- *
- * @api
- */
-void mailDelete(MailPool *mlp, void *mailp) {
-
- chPoolFree(&mlp->pool, mailp);
- chSemSignal(&mlp->sem);
-}
-
-/** @} */
diff --git a/os/various/mail.h b/os/various/mail.h
deleted file mode 100644
index 1786494e6..000000000
--- a/os/various/mail.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010,
- 2011,2012 Giovanni Di Sirio.
-
- This file is part of ChibiOS/RT.
-
- ChibiOS/RT is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/RT is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
-
-/**
- * @file mail.h
- * @brief Threads mail macros and structures.
- *
- * @addtogroup mail
- * @{
- */
-
-#ifndef _MAIL_H_
-#define _MAIL_H_
-
-/*
- * Module dependencies check.
- */
-#if !CH_USE_SEMAPHORES || !CH_USE_MEMPOOLS
-#error "Mail Pools require CH_USE_SEMAPHORES and CH_USE_MEMPOOLS"
-#endif
-
-/**
- * @brief Mail Pool descriptor.
- */
-typedef struct {
- MemoryPool pool; /**< @brief Available mail objects. */
- Semaphore sem; /**< @brief Semaphore guard. */
-} MailPool;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
- void mailInit(MailPool *mlp, size_t size, void *p, size_t n);
- void *mailCreate(MailPool *mlp, systime_t time);
- void mailDelete(MailPool *mlp, void *mailp);
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _MAIL_H_ */
-
-/** @} */
diff --git a/readme.txt b/readme.txt
index 5f21cb314..b1f52494d 100644
--- a/readme.txt
+++ b/readme.txt
@@ -242,8 +242,6 @@
order to make priority organization configurable, the default is to
assign all the available priority bits to preemption priority with no
sub-priorities.
-- NEW: Added support for pools of generic "mail" objects under ./os/various,
- mail objects are meant to be used together with mailboxes.
- NEW: Added a new function chPoolLoadArray() to the Memory Pools subsystem,
it allows to load an entire array element's into a pool with a single
operation.